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!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top