Можно ли использовать CSS для помещения запятых в поля ввода? [Дубликат]

Решение для меня заключалось в использовании свойства textColor:

<CheckBox
android:textColor="@color/mycolor"
...
/>
98
задан BoltClock 7 February 2012 в 11:20
поделиться

9 ответов

Ну, для любых чисел в 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;
}
21
ответ дан Anton Y. Reuchenko 1 September 2018 в 01:26
поделиться

Вы не можете использовать CSS для этой цели. Я рекомендую использовать JavaScript, если он применим. Взгляните на это для получения дополнительной информации: JavaScript-эквивалент printf / string.format

Также, как отметил Петр, вы можете справиться с этим на стороне сервера, но это полностью зависит от вашего сценария ,

2
ответ дан Community 1 September 2018 в 01:26
поделиться

Если это помогает ...

Я использую функцию PHP number_format() и Узкое пространство без разрыва (&#8239;) , Он часто используется как недвусмысленный разделитель тысяч.

echo number_format(200000, 0, "", "&#8239;");

Поскольку у IE8 есть некоторые проблемы для создания узкого пространства без разрыва, я изменил его для SPAN

echo "<span class='number'>".number_format(200000, 0, "", "<span></span>")."</span>";
.number SPAN{
    padding: 0 1px; 
}
3
ответ дан Daniel G. Blázquez 1 September 2018 в 01:26
поделиться

Рабочая группа CSS опубликовала проект в Форматирование содержимого в 2008 году. Но ничего нового прямо сейчас.

23
ответ дан DoubleYo 1 September 2018 в 01:26
поделиться

Не думаю, что вы можете. Вы можете использовать number_format () , если вы кодируете в PHP. И другие языки программирования также имеют функцию форматирования чисел.

2
ответ дан Florin Frătică 1 September 2018 в 01:26
поделиться

Не ответ, а интерес. Несколько лет назад я отправил предложение в рабочую группу CSS . Однако ничего не произошло. Если бы они (и поставщики браузеров) увидели бы это как настоящую заинтересованность разработчика, возможно, мяч мог бы начать катиться?

5
ответ дан itpastorn 1 September 2018 в 01:26
поделиться

Вы можете использовать библиотеку тегов 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

0
ответ дан Mohammad Javed 1 September 2018 в 01:26
поделиться

Нет, вы должны использовать javascript , когда он находится в DOM, или отформатируйте его с помощью серверной части вашего сервера (PHP / ruby ​​/ python и т. д.).

8
ответ дан mreq 1 September 2018 в 01:26
поделиться

Наверное, лучший способ сделать это - комбо установить диапазон с классом, обозначающим ваше форматирование, а затем использовать JQuery .each для форматирования на участках при загрузке DOM ...

16
ответ дан Ross 1 September 2018 в 01:26
поделиться