Mise en forme des nombres (décimales, séparateurs de milliers, etc.) avec CSS

Est-il possible de formater des nombres avec CSS? C’est-à-dire: décimales, séparateur décimal, séparateur de milliers, etc.

    Eh bien, pour tout nombre en Javascript, j’utilise le prochain:

    var a = "1222333444555666777888999"; a = a.replace(new RegExp("^(\\d{" + (a.length%3?a.length%3:0) + "})(\\d{3})", "g"), "$1 $2").replace(/(\d{3})+?/gi, "$1 ").sortingm(); 

    et si vous devez utiliser un autre séparateur comme une virgule par exemple:

     var sep = ","; a = a.replace(/\s/g, sep); 

    ou en tant que fonction:

     function numberFormat(_number, _sep) { _number = typeof _number != "undefined" && _number > 0 ? _number : ""; _number = _number.replace(new RegExp("^(\\d{" + (_number.length%3? _number.length%3:0) + "})(\\d{3})", "g"), "$1 $2").replace(/(\d{3})+?/gi, "$1 ").sortingm(); if(typeof _sep != "undefined" && _sep != " ") { _number = _number.replace(/\s/g, _sep); } return _number; } 

    Le groupe de travail CSS a publié un brouillon sur le formatage du contenu en 2008. Mais rien de nouveau pour le moment.

    Le meilleur moyen de le faire est sans doute de combiner la définition d’un intervalle avec une classe indiquant votre mise en forme, puis d’utiliser Jquery .each pour effectuer le formatage sur les plages lorsque le DOM est chargé …

    Non, vous devez utiliser javascript une fois dans le DOM ou le formater via votre langue côté serveur (PHP / ruby ​​/ python etc.)

    Pas une réponse, mais des intérêts intéressants. J’ai envoyé une proposition au CSS WG il y a quelques années. Cependant, rien ne s’est passé. Si en effet ils (et les fournisseurs de navigateurs) voyaient cela comme une véritable préoccupation pour les développeurs, la balle pourrait peut-être commencer à tourner?

    Si ça aide …

    J’utilise la fonction PHP number_format() et l’ espace Narrow No-break ( ). Il est souvent utilisé comme séparateur de milliers sans ambiguïté.

     echo number_format(200000, 0, "", " "); 

    Parce que IE8 a des problèmes pour rendre l’espace Narrow No-Break, je l’ai changé pour un SPAN

     echo "".number_format(200000, 0, "", "").""; 
     .number SPAN{ padding: 0 1px; } 

    Vous ne pouvez pas utiliser CSS à cette fin. Je recommande d’utiliser JavaScript s’il est applicable. Jetez un oeil à ceci pour plus d’informations: JavaScript équivalent à printf / ssortingng.format

    Aussi, comme Petr l’a mentionné, vous pouvez le gérer côté serveur mais cela dépend totalement de votre scénario.

    Je ne pense pas que tu peux. Vous pouvez utiliser number_format () si vous codez en PHP. Et d’autres langages de programmation ont également une fonction de formatage des nombres.

    Vous pouvez utiliser la bibliothèque de balises Jstl pour le formatage des pages JSP

     JSP Page //import the jstl lib <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>  

    Formatted Number (1):

    Formatted Number (2):

    Formatted Number (3):

    Formatted Number (4):

    Formatted Number (5):

    Formatted Number (6):

    Formatted Number (7):

    Formatted Number (8):

    Résultat

    Numéro formaté (1): £ 120,000.23

    Numéro formaté (2): 000.231

    Numéro formaté (3): 120 000,231

    Numéro formaté (4): 120000.231

    Nombre formaté (5): 023%

    Nombre formaté (6): 12 000 023,0900000000%

    Nombre formaté (7): 023%

    Nombre formaté (8): 120E3