Formatage de nombres avec Google Closure

Google Closure dispose d'une classe bien pratique nommée goog.i18n.NumberFormat qui permet de formater des nombres.

Formatage de monnaie

goog.require("goog.i18n.NumberFormat");
goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR;
var fmt = new goog.i18n.NumberFormat(
  goog.i18n.NumberFormatSymbols.CURRENCY_PATTERN
);
alert(fmt.format(1243.567)); // Affiche 1 243,56 €

Conversion d'une chaine locale en nombre

On peut utiliser la méthode parse pour transformer une chaine formatée en un nombre :

goog.require("goog.i18n.NumberFormat");
goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR;
var fmt = new goog.i18n.NumberFormat(
  goog.i18n.NumberFormatSymbols.CURRENCY_PATTERN
);
alert(fmt.parse("1 243,56 €")); // Affiche 1243.56

Pourcentages

goog.require("goog.i18n.NumberFormat");
goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR;
var fmt = new goog.i18n.NumberFormat(
  goog.i18n.NumberFormatSymbols.PERCENT_PATTERN
);
alert(fmt.format("0.15")); // Affiche 15%

Formats personnalisés

Affichage décimal avec 3 chiffres derrière la virgule :

goog.require("goog.i18n.NumberFormat");
goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR;
var fmt = new goog.i18n.NumberFormat("0.###");
alert(fmt.format("1243.56789")); // Affiche 1243,568

Ajouter un commentaire