Ir para conteúdo

POWERED BY:

Arquivado

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

Gilberto Jr

Formatando Numero para Real

Recommended Posts

Boa tarde;

 

Eu estou com um probleminha aqui. Seguinte, eu estou lendo um arquivo txt com esse código

<%
Dim objFSO
 
 
'Aqui que daremos início ao sistema
'Criaremos o objeto FileSystemObject
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
 
 
Dim varArquivo
 
 
'Agora, com o uso do FSO, iremos abrir o arquivo texto que iremos criar
Set varArquivo = objFSO.OpenTextFile("D:\xml\WE CLUB PETROLINA\TXT\87319.TXT")
 
 
dim arrayLinha
 
 
'Agora que o arquivo já foi aberto, iremos ler linha por linha
'O comando AtEndOfStream determina que iremos repetir o processo abaixo
'até o fim do arquivo
Do while not varArquivo.AtEndOfStream
 
 
'Abaixo, criaremos um array para separar os dados entre ponto-e-vírgula
'ReadLine é usado para indicar que iremos separar os dados desta linha
arrayLinha=split(varArquivo.ReadLine,",",-1,1)
 
 
'Com o array criado, iremos inserir de acordo com a ordem dos campos
'Usando 'arrayLinha(0)' nós determinamos cada dado pela ordem do arquivo de texto
'começando pelo zero que é respectivamente o campo nome e por ai adiante

'agora vai mostrar a informacao na tela
response.Write(arrayLinha(2))
'conexao.execute "INSERT INTO cadastros (nome, nascimento, profissao, cidade, estado) VALUES ('"&arrayLinha(0)&"',"&arrayLinha(1)&",'"&arrayLinha(2)&"','"&arrayLinha(3)&"','"&arrayLinha(4)&"')"
 
 
'Passar para próxima linha
loop

Esse é um arquivo de uma nota fiscal, nesse arquivo tem o código de barra, quantidade e também o valor.

 

O valor esta assim dentro do arquivo 4980. Quando eu coloco pra mostrar na tela ele vem assim 4980. Isso quer dizer que o valor da peça é R$ 49,80.

 

Só quando eu uso FORMATCURRENCY() o valor fica assim R$ 4.980,00. Como que eu faço pra colocar o valor no formato correto de R$ 49,80?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se nesse caso todos os valores estão no arquivo txt sem pontuação e sem cortes de zeros (centavos por ex.), basta antes de formatar, dividir o número por 100, já que o FormatCurrency acrescentará as casas decimais.

<%
Dim myNumber
myNumber = 4980
myNumber = myNumber / 100
myNumber = FormatCurrency(myNumber)
Response.Write(myNumber)
%>

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou inserir um ponto usando o right ou left e depois
response.write(FormatCurrency(49.80,-1))

Compartilhar este post


Link para o post
Compartilhar em outros sites
Public2004

Eu fiz dessa forma, dividi o valor por 100 e usei o formatcurrency. Deu certinho.

 

xanburzum

Como que eu colocaria um ponto usando o right ou left?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

pega o valor e depois usa a função right para inserir a vírgula na posição que desejar. Tem outro link que postei explicando sobre right e left

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.