Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia.
Estou precisando formatar um valor que já recebo do banco sem ponto e nem virgula.
Com isso, estou tentando fazer a formatação dele com o string.format, porém ele não está vindo da forma que preciso.
No caso o valor é 174,20 e quando chega na aplicação ele fica 17420.
Se eu uso o string.Format("{0:C}", objeto) ele vem assim 17.420,00
Se eu uso o string.Format("{0:F}", objeto) ele vem assim 17420,00
Como eu resolvo isso??
Valeu!!
Uma coisa..
Quando coloco string pt = String.Format("{0:D}", objeto), ele gera o seguinte erro "Especificação de formato inválido".
Isso somente quando tento formatar com o "d".
Valeu!
>
Para ele chegar na aplicação sem a virgula tem algo que esta removendo. Como ele chega na aplicação?
Abraços...
Cara, na base ele passar por um replace e uma conversão de char. Ai quando ele chega na aplicação vem 17420. Até ai está certo, pois como estou gerando um arquivo .txt essa é a formatação correta para o campo, porém utilizo esse valor para fazer algumas contas e como ele está sem a vírgula os valores finais ficam errados.
Valeu!!
Não sei se daria certo para o que você precisa, mas tente usar isso:
Se eu uso o string.Format("{0:F}", objeto) ele vem assim 17420,00
E divida a saída por 100 (virando 174,20), assim tendo o número desejado.
Se isso se aplicar na sua lógica (e só vai funcionar se os números do banco incluírem 2 dígitos após a vírgula, tal qual o informado), poste informando.
Caso não, informe se há alguma exceção e quem sabe seja possível encontrar uma solução.
Abraços ;)
E ai..
Kairion,
valeu pela ajuda. Deu certo..
Muito obrigado.
Para ele chegar na aplicação sem a virgula tem algo que esta removendo. Como ele chega na aplicação?
Abraços...