Inquiridor
String.Format {0:c} não está funcionando corretamente.

Pergunta
-
Olá!
Estou montando um relatório e preciso exibir este cálculo no mesmo.
txtValorTotal.Text = String.Format("{0:c}", (Convert.ToDecimal(txtValorDeSaques.Text) + Convert.ToDecimal(txtValorDeCompras.Text)).ToString())
Porém, um determinado valor retornou: 25,875
Como é cálculo monetário, está incorreto, pois "não existe" 875 centavos.
Como resolver?
Obrigado!
Todas as Respostas
-
Marcelo,
Existe a possibilidade de você usar a cultura do Brasil na hora de efetuar esta conversão para "Currency", usando de um dos overloads do método string.Format():
String.Format(new System.Globalization.CultureInfo("pt-BR"), "{0:c}", (Convert.ToDecimal(txtValorDeSaques.Text) + Convert.ToDecimal(txtValorDeCompras.Text)).ToString())
MSDN:
http://msdn.microsoft.com/pt-br/library/1ksz8yb7.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
-
Outro problema...
Ao dividir o valor 182 por 6, no relatório exibiu
30,3333333333333333333333333333333333333333333333333333333333333333333...
O que também não "existe" em valores monetários.
Como faço para "cortar" e mostrar apenas duas casas decimais no máximo?
-