Pour mon application AIR (cf le post juste en dessous) j’ai eu besoin d’arrondir mes statistiques à l’entier supérieur/inférieur et les mettre en forme pour ne garder que deux décimal après la virgule. N’étant pas du tout expert en Flash/Flex, j’ai commencé à faire un code de bourrin comme splitter mon float selon la virgule, slicer ensuite pour ne garder que deux décimal etc … Bref, un truc vraiment crade pour me dépanner vite fait.
Je suis revenu quelque jours après sur ce bout de code pour le cleaner un peu et pour trouver une solution vraiment propre et voici ma « découverte » : NumberFormatter ! D’après une recherche google de 45s, il apparait que cette classe n’est disponible que pour Flex ..
Voici comment l’utiliser en AS3 seulement. Je n’ai pas pris le temps de l’essayer en MXML.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // L'objet magique var oFormat:NumberFormatter = new NumberFormatter(); // Arrondis à l'entier le plus proche oFormat.rounding = NumberBaseRoundType.NEAREST; // Et on l'utilise trace(oFormat.format(1.51)); // Affiche 2 trace(oFormat.format(1.49)); // Affiche 1 // Précision à 2 décimal // D'abord on n'arrondis plus oFormat.rounding = NumberBaseRoundType.NONE; // On définit le nb max de décimal oFormat.precision = "2"; // Et on l'utilise trace(oFormat.format(1.544541511)); // Affiche 1.54 trace(oFormat.format(1.1)); // Affiche1.10 - note : rajout du 0 ! |
Et bien sur, rien ne vaut un coup d’oeil sur la documentation Adobe !
Et voilà, c’est tout pour aujourd’hui.






