Java: Conversione di un doppio in una stringa
-
19-09-2019 - |
Domanda
Ho un doppio il cui valore è 10.000.000,00 (dieci milioni). devo
convertirlo in un String
. Quando si utilizza il metodo di toString
sto ottenendo il String
"1.0E7" che è corretto seguendo le specifiche. Purtroppo ho bisogno
il String
"10.000.000,00" (o equivalente a seconda del locale).
Come si può raggiungere questo obiettivo?
Altri suggerimenti
Oltre al formattatore, si potrebbe considerare l'utilizzo della classe java.math.BigDecimal
per rappresentare i numeri con precisione.
I calcoli in cui è richiesta la massima precisione, come ad esempio i calcoli finanziari, sono meglio eseguite con BigDecimal
. Calcoli in virgola mobile è migliore per l'ingegneria, la grafica, e altri calcoli matematici in cui una certa precisione può essere sacrificata per la velocità.
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));
}
Se vuoi in "DecimalFormat". Esso consente di formattare l'uscita più o meno come vuoi!