Formatação Numérica: Locale e NumberFormat
Bom dia. Estou usando Locale e NumberFormat para lidar com números.
No entanto, quando tento formatar
obtenho como resultado
com 1 centavo a mais.
E, pior ainda, quando tento formatar
obtenho
com 2 reais a menos.
O que fazer para corrigir isto?
Grato por qualquer ajuda,
Helder Arruda
Locale meuLocal = new Locale( "pt", "BR" ); NumberFormat nfVal = NumberFormat.getCurrencyInstance( meuLocal );
667407.3
R$ 667.407,31
50110162
R$ 50.110.160,00
Helder_arruda
Curtidas 0
Respostas
Junior.esnaola
09/04/2009
eu testei aqui.
com float da os erros q você citou, mas com double dá certinho.
[]s
Locale meuLocal = new Locale( "pt", "BR" ); NumberFormat nfVal = NumberFormat.getCurrencyInstance( meuLocal ); double teste = (double) 50110162; System.out.println(nfVal.format(teste));
GOSTEI 0
Vitor Pamplona
09/04/2009
use as classes BigInteger e BigDecimal para ter mais precisão :D
GOSTEI 0
Vitor Pamplona
09/04/2009
Alterando pra Double funcionou bem, valeu!
Sds,
Helder Arruda
GOSTEI 0