Tenho certeza que muitas pessoas, inclusive eu, já tiveram vários problemas com relação à data e moeda em seus sistemas, enquanto desenvolviam ou quando migravam o sistema para outro servidor.
Tentaram de várias formas corrigir o problema, usando conversores, mudando o LCID para alterar o formato para Americano, ou Português, ou até mesmo para outra configuração.
No final, alguns sempre conseguiam solucionar o problema. Mas, caso o mesmo sistema fosse migrado para outro servidor de configuração diferente, novamente o problema surgia.
Vou mostrar um método a ser utilizado, que jamais trará problemas deste tipo.
Este tipo de tratamento evita que, independente da configuração do seu servidor, os dados sejam interpretados de forma diferente.
Quando formos usar dados do tipo moeda ou data, devemos sempre tratar estes dados no formato americano. Para tanto, devemos então usar sempre o LCID americano:
Session.LCID = 1033
Desta forma, os dados serão gravados no banco de dados no formato americano (9999.99 para moeda, mm/dd/aa para data), quando capturados estes dados, saberemos que estarão no formato americano, o mesmo formato que estamos usando em nosso sistema.
O correto é mudar o formato apenas na exibição destes valores, ou seja, converter para o formato desejado somente depois capturados os dados.
Exibindo os dados no formato desejado
Para exibir dados do tipo moeda no formato Brasileiro, utilize a função abaixo:
Function FormataMoeda(valor)
sp = Mid(FormatNumber(1000, 0, -1, 0, -1),2,1)
sv = Mid(FormatNumber(0.1, 1, -1, 0, -1),2,1)
If isNumeric(valor) Then
v = FormatNumber (valor, 2, -1, 0, -1)
Else
v = FormatNumber (0, 2, -1, 0, -1)
End If
v = Replace(v, sp, "p")
v = Replace(v, sv, "v")
v = Replace(v, "p", ".")
v = Replace(v, "v", ",")
FormataMoeda = v
End Function
Basta escrever o valor da seguinte forma:
Response.Write FormataMoeda(objRS("valor"))
Para exibir os dados do tipo data no formato brasileiro, utilize a função abaixo:
Pergunta
jucacabala
estou postando porque me ajudou muito pode ser muito util para outras pessoas.
se preferir o link http://www.superasp.com.br/paginas_exibir_...p?dep=0,0&id=85
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.