Можно ли форматировать числа с помощью CSS? То есть: десятичные разряды, десятичный разделитель, разделитель тысяч и т.д.
Форматирование чисел (десятичные разряды, разделители тысяч и т.д.) С помощью CSS
Ответ 1
Ну, для любых чисел в Javascript я использую следующий:
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 ").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"), "$1 $2").replace(/(\d{3})+?/gi, "$1 ").trim();
if(typeof _sep != "undefined" && _sep != " ") {
_number = _number.replace(/\s/g, _sep);
}
return _number;
}
Ответ 2
Рабочая группа CSS опубликовала проект в Форматирование содержимого в 2008 году. Но ничего нового прямо сейчас.
Ответ 3
Вероятно, лучший способ сделать это - это комбо для установки диапазона с классом, обозначающим ваше форматирование, а затем использовать JQuery.each для форматирования на пролетах при загрузке DOM...
Ответ 4
Нет, вы должны использовать javascript, как только он находится в DOM, или отформатируйте его с помощью серверной части сервера (PHP/ruby /python и т.д.)
Ответ 5
Не ответ, а интерес. Несколько лет назад я отправил предложение
Ответ 6
Если это помогает...
Я использую функцию PHP number_format()
и Узкое No- break Space ( 
). Он часто используется как недвусмысленный разделитель тысяч.
echo number_format(200000, 0, "", " ");
Поскольку у IE8 есть некоторые проблемы с отображением узкого пространства без разрыва, я изменил его для SPAN
echo "<span class='number'>".number_format(200000, 0, "", "<span></span>")."</span>";
.number SPAN{
padding: 0 1px;
}
Ответ 7
Вы не можете использовать CSS для этой цели. Я рекомендую использовать JavaScript, если он применим. Взгляните на это для получения дополнительной информации: JavaScript-эквивалент printf/string.format
Также, как сказал Петр, вы можете справиться с этим на стороне сервера, но это полностью зависит от вашего сценария.
Ответ 8
Я не думаю, что ты можешь. Вы можете использовать number_format(), если вы кодируете в PHP. И другие языки программирования также имеют функцию форматирования чисел.
Ответ 9
Вы можете использовать библиотеку тегов 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