Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilberto Jr

Salvando os dados no banco de dados

Recommended Posts

Boa noite.

 

Eu estou mostrando uns dados recuperado de um xml e esta aparecendo uns zeros no final da string.

 

Por exemplo, eu estou buscando os dados no xml com o seguinte código

set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.open "GET", "enderecoDoArquivoXml" & cat, false
xml.send
 set objXML = xml.responseXML
 
set raiz = objXML.getElementsByTagName("nfeProc")
set nfe = objXML.getElementsByTagName("nNF")
set serie = objXML.getElementsByTagName("serie")
set itens = objXML.getElementsByTagName("qTrib")
set fornecedor = objXML.getElementsByTagName("xNome")
set dtEmissao = objXML.getElementsByTagName("dEmi")
set dtVencimento = objXML.getElementsByTagName("dVenc")
set valor = objXML.getElementsByTagName("vOrig")
 
for i = 0 to raiz.length-1
'notafiscal = nfe.item(i).text
'serienf = serie.item(i).text
'response.Write(itens.item(i).text&"<br>")
'response.Write(fornecedor.item(i).text&"<br>")
'dataemissao = mask_data(dtEmissao.item(i).text)
'datavencimento = mask_data(dtVencimento.item(i).text)
'valor = valor.item(i).text
next
 
'for a = 0 to itens.length-1
'response.Write(itens.item(a).text&"<br>")
'next

total=0
for a = 0 to itens.length-1
    'response.Write(itens.item(a).text&"<br>")
   total=itens.item(a).text + total
next

response.Write(total)

set xml = nothing
set objXML = nothing

o total é 79 mas esta ficando 79000.

 

Alguém sabe me dizer porque disso?

 

Obrigado.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente existem 4 valores: 79 + 0 + 0 +0

 

Só que ao invés de somar eles estão sendo concatenados.

 

Faça a seguinte modificação:

total = cLng(itens.item(a).text) + cLng(total)

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma certa POG, apos ter os valores de um replace na variavel removendo os 0, ou uma funçao que procure somente os zeros (isso se vier com apenas 0) e remova, ~caso não consiga identificar a concatenaçao dos demais valoresa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acessei seu XML e percebi que ele está retornando 4.000 + 2.000... isso está fazendo a diferença.

 

Levando em consideração que existirá somente um ponto nos números, faça a alteração:

total = cLng(replace(itens.item(a).text,".",",")) + total

 

Caso exista a possibilidade de mais de um ponto, pesquise uma outra solução próxima a isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, é pra eu substutir o "." por uma ","?

total = cLng(replace(itens.item(a).text,".",",")) + total

 

Att;



Resolvindo Hargon

 

Agora eu entendi o código por completo. Eu substituo o "ponto" por "virgula" e uso o cLng pra converter em número inteiro.

 

É isso mesmo?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto Gilberto Jr.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.