Java: Conversão de uma dupla em uma String
-
19-09-2019 - |
Pergunta
Eu tenho um casal cujo valor é 10.000.000,00 (milhões dez). Eu tenho que
convertê-lo para um String
. Ao usar o método toString
Estou recebendo o String
"1.0E7" o que é correto seguindo especificação. necessidade Infelizmente I
o String
"10.000.000,00" (ou o equivalente dependendo da localidade).
Como conseguir isso?
Outras dicas
Além do formatador, você pode considerar o uso da classe java.math.BigDecimal
para representar números com precisão.
Os cálculos em que é necessária uma precisão absoluta, tais como cálculos financeiros, são melhor realizadas com BigDecimal
. Matemática de ponto flutuante é melhor para a engenharia, gráficos e outros cálculos matemáticos onde alguns precisão pode ser sacrificado para a velocidade.
public static void main(String[] args) throws ParseException {
double aDouble = 10000000.00;
DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US);
String aString = Double.toString(aDouble);
System.out.println(nf.parse(aString));
}
Olhe em "DecimalFormat". Ele permite que você formatar a saída praticamente como quiser!