Question

J'ai une double dont la valeur est 10.000.000,00 (dix millions). je dois le convertir en un String. Lorsque vous utilisez la méthode toString Je reçois le String « 1.0E7 » qui est correct suivant la spécification. Malheureusement, je dois le String « 10.000.000,00 » (ou l'équivalent en fonction de la localisation).

Comment y parvenir?

Autres conseils

En plus de la formatter, vous pouvez envisager d'utiliser la classe java.math.BigDecimal pour représenter des nombres avec précision.

Les calculs où la précision complète est nécessaire, comme les calculs financiers sont mieux réalisés avec BigDecimal. mathématiques à virgule flottante est meilleure pour l'ingénierie, des graphiques et d'autres calculs mathématiques où une certaine précision peut être sacrifiée pour la vitesse.

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

Regardez dans "Decimal". Il vous permet de formater la sortie à peu près comme vous le voulez!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top