Czy można formatować liczby za pomocą CSS? To znaczy: miejsca dziesiętne, separator dziesiętny, separator tysięcy itp.
121
Czy można formatować liczby za pomocą CSS? To znaczy: miejsca dziesiętne, separator dziesiętny, separator tysięcy itp.
Odpowiedzi:
Możesz użyć
Number.prototype.toLocaleString()
. Może również formatować dla innych formatów liczb, np. Łaciński, arabski itp.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
źródło
Grupa robocza ds. CSS opublikowała wersję roboczą dotyczącą formatowania treści w 2008 r. Ale na razie nic nowego.
źródło
Cóż, dla dowolnych liczb w Javascript używam następnego:
i jeśli chcesz użyć innego separatora jako przecinka, na przykład:
lub jako funkcja:
źródło
_number.replace
musimy upewnić się, że jest to ciąg taki jak ten, w_number = typeof _number != "undefined" && _number > 0 ? String(_number) : "";
przeciwnym razie otrzymasz błąd_number.replace
nie jest zdefiniowany lub nie jest funkcjąPrawdopodobnie najlepszym sposobem na to jest kombinacja ustawienia rozpiętości z klasą oznaczającą formatowanie, a następnie użycie Jquery .each do formatowania na rozpiętościach, gdy DOM jest ładowany ...
źródło
Nie, musisz używać javascript, gdy już jest w DOM lub sformatować go po stronie serwera języka (PHP / ruby / python itp.)
źródło
rtl
, który pokazuje te same treści w inny sposób: czy powinien być również traktowany po stronie serwera?Nie odpowiedź, ale jakieś interesujące. Wysłałem propozycję do CSS WG kilka lat temu. Jednak nic się nie stało. Jeśli rzeczywiście oni (i dostawcy przeglądarek) uznaliby to za prawdziwy problem programisty, może kula mogłaby zacząć się toczyć?
źródło
Jeśli to pomoże ...
Używam funkcji PHP
number_format()
i Narrow No-Break Space ( 
). Często jest używany jako jednoznaczny separator tysięcy.Ponieważ IE8 ma pewne problemy z renderowaniem Narrow No-Break Space, zmieniłem go na SPAN
źródło
Nie możesz w tym celu używać CSS. Zalecam używanie JavaScript, jeśli ma to zastosowanie. Spójrz na to, aby uzyskać więcej informacji: odpowiednik JavaScript printf / string.format
Również, jak wspomniał Petr, możesz sobie z tym poradzić po stronie serwera, ale to całkowicie zależy od twojego scenariusza.
źródło
Myślę, że nie możesz. Możesz użyć number_format (), jeśli kodujesz w PHP. Inne języki programowania mają również funkcję formatowania liczb.
źródło
Do formatowania stron JSP można użyć biblioteki znaczników Jstl
Wynik
Sformatowana liczba (1): 120 000,23
Sformatowana liczba (2): 000,231
Sformatowana liczba (3): 120 000 231
Sformatowany numer (4): 120000.231
Sformatowana liczba (5): 023%
Sformatowana liczba (6): 12000023,0900000000%
Sformatowana liczba (7): 023%
Sformatowana liczba (8): 120E3
źródło