2009-10-05 5 views
4

J'ai un double dont la valeur est 10 000 000,00 (dix millions). Je dois le convertir en String. Lors de l'utilisation de la méthode toString je reçois le String "1.0E7" qui est correct suivant la spécification. Malheureusement, j'ai besoin de le String "10,000,000.00" (ou l'équivalent selon les paramètres régionaux).Java: conversion d'un double en chaîne

Comment y parvenir?

Répondre

2

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

+0

merci pour votre commentaire +1. – Luixv

5

Outre le formateur, vous pouvez utiliser la classe java.math.BigDecimal pour représenter les nombres avec précision.

Les calculs nécessitant une précision complète, tels que les calculs financiers, sont mieux exécutés avec BigDecimal. Mathématiques à virgule flottante est mieux pour l'ingénierie, les graphiques et autres calculs mathématiques où une certaine précision peut être sacrifiée pour la vitesse.

+0

merci pour votre commentaire +1 – Luixv

4
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)); 
    } 
+0

merci pour votre commentaire +1 – Luixv