Pregunta

Tengo un doble cuyo valor es 10.000.000,00 (diez millones). Tengo que convertirlo en un String. Cuando se utiliza el método toString estoy consiguiendo el String "1.0E7", que es correcta después de la especificación. Por desgracia necesito la String "10.000.000,00" (o el equivalente en función de la configuración regional).

¿Cómo se puede lograr esto?

Otros consejos

Además del formateador, es posible considerar el uso de la clase java.math.BigDecimal para representar números con precisión.

Los cálculos donde se requiere una exactitud total, tales como cálculos financieros, se realizan mejor con BigDecimal. Matemáticas de punto flotante es mejor para la ingeniería, gráficos, y otros cálculos matemáticos en cierta exactitud puede ser sacrificado para la velocidad.

  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));
  }

Mira en "DecimalFormat". Se le permite formatear la salida más o menos lo que le apetezca!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top