Недавно я увидел вопрос интервью (письменного теста) с использованием JS для реализации тысячеклассного сепаратора чисел в Интернете, поэтому я написал метод, в котором используется «обычный + заменить» для его реализации:
Кода -копия выглядит следующим образом:
var тысячаспапаратор = function (numstr) {
var b =/([-+]?/d {3}) (? =/d)/g;
вернуть numstr.replace (b, function ($ 0, $ 1) {
вернуть $ 1 + ',';
});
}
Поддержка сопоставления положительных и отрицательных признаков и отличия десятичных очков. Если есть ошибка, я надеюсь, что все указывают: -d
Прикреплен метод реализации другими пользователями сети
Кода -копия выглядит следующим образом:
<script language = "javascript" type = "text/javascript">
Функция Formatnumber (num) {
if (!/^(/+|-)? (/d+) (/./ d+)? $/. test (num)) {
вернуть num;
}
var a = regexp. $ 1, b = regexp. $ 2, c = regexp. $ 3;
var re = new regexp (). compile ("(// d) (// d {3}) (, | $)");
while (re.test (b)) {
b = B.Replace (re, "$ 1, $ 2 $ 3");
}
вернуть a + "" + b + "" + c;
}
var num = 1234567/3;
Alert ("num ="+num+", round:"+math.round (num)+", две значимые цифры:"+num.tofixed (2)+", добавьте тысячи сепаратора:"+formatnumber (num));
</script>
Выше приведено в этой статье, надеюсь, вам понравится.