Разбиваем числа на разряды на JavaScript/PHP
При разработке скрипта для одного сайта появилась необходимость число вида 1000000 разбить на разряды, чтобы получилось – 1 000 000. Согласитесь, если вы зашли в интернет-магазин и увидели второй вид – он быстрее помогает вам сориентироваться в цене и не приходится считать, сколько же тут знаков.
Разбиваем числа на разряды на JavaScript
Поскольку изначальная задача была реализовать все это на JavaScript, показываю, как это сделать. Здесь мы воспользуемся регулярными выражениями и в итоге у нас выйдет следующее:
<script>
var number = "1000000";
var prise = number.replace(/(\d)(?=(\d{3})+([^\d]|$))/g, "$1 ");
alert(prise);
</script>
«Prise» здесь будет содержать число, разбитое на разряды. Обратите внимание! Ваше число должно иметь тип «string». Когда я писал скрипт, то число получал в результате складывания двух других чисел, а это уже тип «integer» – в таком случае скрипт выше не работал. Для решения проблемы строку:
prise = number.replace(/(\d)(?=(\d{3})+([^\d]|$))/g, "$1 ");
заменим на:
prise = String(number).replace(/(\d)(?=(\d{3})+([^\d]|$))/g, "$1 ");
С этим вариантом вы можете преобразовывать числа, полученные в результате математических операций.
Разбиваем числа на разряды на PHP
В качестве небольшого бонуса и личного интереса я разобрался, как то же самое реализовать на PHP. Тут дела обстоят куда проще, и все, что нам нужно сделать – это воспользоваться функцией «number_format»:
<?php
$number = "1000000";
$prise = number_format($number, 0, "", " ");
echo $prise;
?>
Здесь $prise также содержит в себе разбитое на разряды число.