156 votes

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

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

71 votes

Vous ne pouvez pas, mais vous devriez vraiment pouvoir. Après tout, 50 000, 50000 ou 50 000,00 sont toutes les mêmes "données", elles sont simplement présentées différemment, ce à quoi servent les CSS.

4 votes

@MrMisterMan : Il y a quelques idées qui ont été lancées ici : wiki.csswg.org/ideas/content-formatting#numbers Mais je vais probablement être harcelé et accusé de citer des "spécifications" et de donner de faux espoirs à tout le monde. Et pour ma part, je suis curieux de savoir comment le texte non numérique serait traité ici.

3 votes

Bien que je sois d'accord pour dire que ce serait une bonne chose, le numéro est intégré dans une page localisée. En d'autres termes, le reste de la page est en anglais, en chinois ou dans une autre langue, et les numéros devraient, selon l'OMI, être conformes à cette localisation. Pourquoi devraient-ils être localisés séparément du reste de la page... ?

30voto

DoubleYo Points 2410

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

15voto

Ross Points 712

La meilleure façon de le faire est probablement de définir un span avec une classe indiquant votre mise en forme, puis d'utiliser Jquery .each pour effectuer la mise en forme sur les spans lorsque le DOM est chargé...

9voto

mreq Points 2627

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

6 votes

Le format des nombres est une question de contenu, comme le texte du contenu ou d'autres questions de notation (par exemple, la notation des dates, qui dépend de la langue). Le formatage des nombres relève donc de la localisation et doit être géré lors de la génération du contenu. Le faire en JavaScript est logique pour la partie du contenu qui est générée par JavaScript.

0 votes

Je suis tout à fait d'accord avec cela. C'est pourquoi je l'ai écrit dans ma réponse. J'aurais probablement dû insister davantage sur ce point.

0 votes

Il peut s'agir du contenu ou de la présentation. Prenez CSS rtl qui montre le même contenu d'une manière différente : doit-il également être traité côté serveur ?

7voto

itpastorn Points 1014

Pas une réponse, mais peut-être un intérêt. J'ai envoyé une proposition au groupe de travail CSS il y a quelques années. Cependant, rien ne s'est produit. S'ils (et les fournisseurs de navigateurs) considéraient cette question comme une préoccupation réelle des développeurs, peut-être que la balle pourrait commencer à rouler ?

2 votes

Merci de votre contribution. J'espère qu'un jour ça se répandra.

2voto

Qorbani Points 1960

Vous ne pouvez pas utiliser les CSS à cette fin. Je recommande d'utiliser JavaScript si c'est possible. Jetez un coup d'œil à ceci pour plus d'informations : équivalent JavaScript de printf/string.format

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X