130 votes

Formatage des décimales doubles en Java

J'ai des problèmes pour formater les décimales d'un double. Si j'ai une valeur double, par exemple 4,0, comment puis-je formater les décimales de façon à ce que ce soit 4,00 à la place ?

239voto

Nambari Points 42066

L'un des moyens serait d'utiliser NumberFormat .

NumberFormat formatter = new DecimalFormat("#0.00");     
System.out.println(formatter.format(4.0));

Sortie :

4.00

81voto

Rohit Jain Points 90368

Avec Java 8, vous pouvez utiliser format méthode : -

System.out.format("%.2f", 4.0); // OR

System.out.printf("%.2f", 4.0); 
  • f est utilisé pour floating valeur du point..
  • 2 après la virgule indique le nombre de décimales après la virgule. .

Pour la plupart des versions de Java, vous pouvez utiliser DecimalFormat : -

    DecimalFormat formatter = new DecimalFormat("#0.00");
    double d = 4.0;
    System.out.println(formatter.format(d));

51voto

MarvinLabs Points 13401

Utilisez String.format :

String.format("%.2f", 4.52135);

Comme dans les documents :

La locale toujours utilisée est celle retournée par Locale.getDefault() .

23voto

ojonugwa ochalifu Points 14742

En utilisant String.format, vous pouvez le faire :

double price = 52000;
String.format("$%,.2f", price);

Notez la virgule qui rend cette réponse différente de celle de @Vincent.

Sortie :

$52,000.00

Une bonne ressource pour le formatage est le officiel page java sur le sujet

6voto

Lewis Robbins Points 75

Vous pouvez toujours utiliser la méthode statique printf from System.out - vous implémenteriez alors le formateur correspondant ; cela permet d'économiser de l'espace sur le tas, ce que d'autres exemples vous obligeaient à faire.

Ex :

System.out.format("%.4f %n", 4.0); 

System.out.printf("%.2f %n", 4.0); 

Cela permet d'économiser de l'espace sur le tas, ce qui est un gros avantage, mais je pense néanmoins que cet exemple est beaucoup plus facile à gérer que toute autre réponse, d'autant plus que la plupart des programmeurs connaissent la fonction printf en C (Java modifie légèrement la fonction/méthode).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X