Comment formatter un nombre en java
Publié le 1 Décembre 2011
L'affichage d'un nombre peut vite devenir complexe si on commence à devoir gérer les arrondis, le nombre de chiffre après la virgule, ...
Heureusement en java il existe la classe java.text.DecimalFormat qui permet de convertir un nombre en String et vice versa.
Son utilisation se base sur un pattern qui représente le fomat à utiliser. Ainsi pour utiliser un nombre au format "monétaire" c'est à dire toujours 2 chiffres après la virgule on utilisera le pattern"#.00".
Le # rerpèsent un digit optionel (omis si pas nécessaire) alors que le 0 représente un digit qui sera toujour affiché. Dans notre cas on affichera 1.00 même si la valeur est 1.
Mais passons tout de suite à un petit exemple:
package com.over-blog.patatos.utils.exemples;
import java.text.DecimalFormat;
public class DecimalFormatExemple{
public static void main(String[] args) throws Exception{
DecimalFormat format = new DecimalFormat("#.00");
// number to string
System.out.println("$ : "+format.format(143.5));
// string to number
String montantTexte = "17.O0";
int montant = format.parse(montantTexte).intValue();
System.out.println("€ : "+montant);
}
}
Ce qui donne lors de l'exécution :
$ : 143.50
€ : 17