IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

danielhagnoul

Exemples d'utilisation de ECMAScript Internationalization API

Noter ce billet
par , 16/12/2014 à 23h47 (2048 Affichages)
Les documents de référence


Exemples :

1) Mise en forme d'un nombre ou d'une somme d'argent avec le BCP "fr-BE".

Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
var number = 123456.789;
 
console.log( new Intl.NumberFormat( "fr-BE" ).format( number ) );
 
/*
 * 123 456,789
 */
 
console.log( new Intl.NumberFormat( "fr-BE", { "style" : 'currency', "currency" : 'EUR' }).format( number ) );
 
/*
 * 123 456,789 €
 */

2) Tri ascendant ou descendant

Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
 * Fonction sortTable( table, [ ordre [, bcp47String ]] )
 *
 * sortTable( table ) pour un tri ascendant avec le BCP "fr-BE".
 *
 * Daniel Hagnoul 2014-12-16 v2.0.0
 * 
 * Tri alphanumérique d'un tableau (array) en ordre ascendant par défaut.
 * Le tableau peut contenir du texte et des nombres. Exemple : "2" ou 2.
 * 
 * Pour le tri descendant : sortTable( tab, "desc" );
 *
 * Utilise l'objet Intl : ECMAScript Internationalization API.
 * "http://www.ecma-international.org/ecma-402/1.0/#sec-8"
 *
 * BCP 47 String : "fr-BE" par défaut.
 * "http://tools.ietf.org/html/rfc5646"
 */
function sortTable( table, ordre, bcp47String ){
    var bcpStr = bcp47String || "fr-BE",
        ctor = new Intl.Collator( bcpStr, { "numeric" : true } ),
        n = ( ordre === "desc" ) ? ( -1 ) : ( 1 );
 
    table.sort( function( a, b ){
        return n * ctor.compare( a, b );
    });
 
    return table;
}
 
// le tableau peut contenir des éléments textes et des nombres
var table = [ 3, 8, 1, 14, 140, 0.014, -124.124, "-124.125",
             "enchanteur", "réel", "échange", "indélicat",
             "en vrac", "véridique", "2.00", "23.25", "éparpiller",
             "bon", "échangiste", "échangeur", "enchanté",
             "Allo", "2.64", "23.02", "2.05", "23.00"];
 
console.log( sortTable( table ) );
 
/*
 * [-124.124, "-124.125", 0.014, 1, "2.00", "2.05", "2.64", 3, 8, 14,
 * "23.00", "23.02", "23.25", 140, "Allo", "bon", "échange", "échangeur",
 * "échangiste", "en vrac", "enchanté", "enchanteur", "éparpiller",
 * "indélicat", "réel", "véridique"]
 */
 
console.log( sortTable( table, "desc" ) );
 
/*
 * ["véridique", "réel", "indélicat", "éparpiller", "enchanteur",
 * "enchanté", "en vrac", "échangiste", "échangeur", "échange", 
 * bon", "Allo", 140, "23.25", "23.02", "23.00", 14, 8, 3, "2.64",
 * "2.05", "2.00", 1, 0.014, "-124.125", -124.124]
 */

Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Viadeo Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Twitter Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Google Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Facebook Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Digg Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Delicious Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog MySpace Envoyer le billet « Exemples d'utilisation de ECMAScript Internationalization API » dans le blog Yahoo

Mis à jour 07/06/2015 à 11h56 par danielhagnoul

Tags: format, i18n, sort
Catégories
Javascript , Développement Web

Commentaires