Java: Konvertieren in einen String ein Doppel
-
19-09-2019 - |
Frage
Ich habe ein Doppel, dessen Wert 10.000.000,00 (zehn Millionen). Ich muss
wandelt es in ein String
. Wenn das Verfahren toString
mit Ich erhalte die String
„1.0E7“, die nach der Spezifikation korrekt ist. Leider ich brauche
die String
"10.000.000,00" (oder das Äquivalent je nach locale).
Wie kann das erreicht werden?
Andere Tipps
Neben den Formatierer, könnten Sie die java.math.BigDecimal
Klasse prüfen, mit Zahlen genau darzustellen.
Berechnungen, bei denen absolute Genauigkeit erforderlich ist, wie zum Beispiel finanzielle Berechnungen, werden am besten mit BigDecimal
ausgeführt. Punkt math Schwimmdock ist besser für Engineering, Grafiken und andere mathematische Berechnungen, wo etwas Genauigkeit kann für die Geschwindigkeit geopfert werden.
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));
}
Schauen Sie in "DecimalFormat". Damit können Sie das Ausgabeformat so ziemlich, wie Sie wollen!