2017-09-12 3 views
1

J'utilise la classe DecimalFormat pour formater l'entrée double au format requis.Double format pour ajouter le suivi 0

DecimalFormat df = new DecimalFormat("#.00000000");

Puis, je me sers df.format(/*some value*/). Le problème est que si je passe un double avec plus de 8 parties décimales, il est formaté à 8 parties décimales comme requis, mais si je passe une valeur avec moins de 8 parties décimales, il n'applique pas de suivi 0 . Comment y parvenir?

Example

df.format(12.67543456667) formate comme 12.67543457

Mais,

df.format(12.675) formate à 12.675 seulement.

Comment le formater en 12.67500000?

+0

Pouvez-vous s'il vous plaît ajouter l'extrait de code correspondant? –

Répondre

1

Eh oui, il suffit d'ajouter:

df.setMinimumFractionDigits(8); 
0

La même logique devrait fonctionner.

DecimalFormat df = new DecimalFormat("#.00000000"); 
//System.out.println(df.format(12.67543456667));` 
System.out.println(df.format(12.675)); 

sortie: -

12.67500000 
1

DecimalFormat df = new DecimalFormat("#.00000000"); devrait fonctionner. Essayez de modifier les symboles pour les paramètres régionaux FORMAT par défaut ou passez le DecimalFormatSymbols dans le constructeur.