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!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top