9 ответов:
Ну, для любых чисел в Javascript я использую следующий:
var a = "1222333444555666777888999"; a = a.replace(new RegExp("^(\d{" + (a.length%3?a.length%3:0) + "})(\d{3})", "g"), " ").replace(/(\d{3})+?/gi, " ").trim();и если вам нужно использовать любой другой разделитель запятая, как например:
var sep = ","; a = a.replace(/\s/g, sep);или как функция:
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"), " ").replace(/(\d{3})+?/gi, " ").trim(); if(typeof _sep != "undefined" && _sep != " ") { _number = _number.replace(/\s/g, _sep); } return _number; }
рабочая группа CSS опубликовала проект на Содержание Форматирование в 2008 году. Но сейчас ничего нового.
вероятно, лучший способ сделать это-комбинировать установку диапазона с классом, обозначающим ваше форматирование, а затем использовать Jquery .каждый, чтобы сделать форматирование на промежутках, когда загружается DOM...
нет, вы должны использовать javascript Как только он находится в DOM или форматирует его через серверную часть вашего языка (PHP/ruby/python и т. д.)
Не ответ, но, возможно, представляет интерес. Я действительно послал предложение для РГ CSS несколько лет назад. Однако, ничего не произошло. Если действительно они (и поставщики браузеров) увидят это как подлинную озабоченность разработчиков, возможно, мяч может начать катиться?
если это поможет...
я использую функцию PHP
number_format()и узкое пространство без перерыва ( ). Он часто используется в качестве однозначного разделителя тысяч.echo number_format(200000, 0, "", " ");потому что IE8 имеет некоторые проблемы для визуализации узкого пространства без перерыва, я изменил его на промежуток
echo "<span class='number'>".number_format(200000, 0, "", "<span></span>")."</span>";.number SPAN{ padding: 0 1px; }
вы не можете использовать CSS для этого. Я рекомендую использовать JavaScript, если это применимо. Взгляните на это для получения дополнительной информации:JavaScript эквивалентен printf / string.формат
также, как упоминал Петр, Вы можете обрабатывать его на стороне сервера, но это полностью зависит от вашего сценария.
Я не думаю, что вы можете. Вы могли бы использовать number_format () Если вы кодируете на PHP. И другие языки программирования имеют функцию для форматирования чисел тоже.
вы можете использовать библиотеку тегов Jstl для форматирования страниц JSP
JSP Page //import the jstl lib <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> <c:set var="balance" value="120000.2309" /> <p>Formatted Number (1): <fmt:formatNumber value="${balance}" type="currency"/></p> <p>Formatted Number (2): <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" /></p> <p>Formatted Number (3): <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" /></p> <p>Formatted Number (4): <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" /></p> <p>Formatted Number (5): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p> <p>Formatted Number (6): <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" /></p> <p>Formatted Number (7): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p> <p>Formatted Number (8): <fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" /></p>результат
Отформатированный Номер (1): £120,000.23
Форматированный Номер (2): 000.231
Отформатированное Число (3): 120,000.231
Форматированный Номер (4): 120000.231
Форматированное Число (5): 023%
Форматированный Номер (6): 12,000,023.0900000000%
Форматированное Число (7): 023%
Форматированный Номер (8): 120E3
Comments