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

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement. If you have a Gravatar account, used to display your avatar.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].

Plus d'informations sur les options de formatage

CAPTCHA
La vérification ne tient pas compte des minuscules ou des majuscules.
Image CAPTCHA
Enter the characters shown in the image.