Comment formatter un nombre avec GWT

Publié le 6 Juin 2011

Je dois calculer et afficher des valeurs dans une application GWT. Le soucis concerne le formattage des nombres car une fois le calcul effectué, l'affichage des valeurs n'est pas très "user friendly": genre 1.347002890098%.

 

J'aurais préférer un simple 1.35% par exemple.

 

Et bien heureusement on peut obtenir facilement ce résultat sans se prendre la tête avec les arrondis et autres, en utilisant simplement la class NumberFormat qui est justement faite pour ça.

 

Dans la pratique ça donne:

 

double value = 12.3456789;
NumberFormat format = NumberFormat.getFormat("0.00");
Window.alert(format.format(value)+"%"); // affiche 12.35%

 

On peut également préciser le signe % dans le format mais ceci a pour effet de multiplier la valeur par 100:

 

double value = 0.123456789;
Number format format = NumberFormat.getFormat("0.00%");
Window.alert(format.format(value)); // affiche 12.35%

 

On n'est pas toujours obligé de spécifier un format. On peut utiliser les formats prédéfinis qui tiennent compte des locales.

Attention donc pour l'affichage monétaire si l'utilisateur utilise une locale différente.

 

double value = 12345.6789;
Number format format = NumberFormat.getDecimalFormat();
Window.alert(format.format(value)); // affiche 12 345.6789

 

double value = 12345.6789;
Number format format = NumberFormat.getCurrencyFormat();
Window.alert(format.format(value)); // affiche 12 345.68€

etc ...

 

Le javadoc de la classe NumberFormat est disponible ici: http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/i18n/client/NumberFormat.html

Rédigé par Bliz

Publié dans #GWT

Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article