Разбиваем числа на разряды на JavaScript/PHP
При разработке скрипта для одного сайта появилась необходимость число вида 1000000 разбить на разряды, чтобы получилось – 1 000 000. Согласитесь, если вы зашли в интернет-магазин и увидели второй вид – он быстрее помогает вам сориентироваться в цене и не приходится считать, сколько же тут знаков.
Разбиваем числа на разряды на JavaScript
Поскольку изначальная задача была реализовать все это на JavaScript, показываю, как это сделать. Здесь мы воспользуемся регулярными выражениями и в итоге у нас выйдет следующее:
«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»:
Здесь $prise также содержит в себе разбитое на разряды число.
Как разбить число на массив js
Есть задача, я ее немного визуализировал, вводится число натуральное, и необходимо посчитать сумму чисел кратные 3 и 5 которые меньше введённого числа. Если число одновременно кратно и 3 и 5 то считаем его 1 раз. Можно какие-то идеи по реализации?)

Лучший ответ
В условии кратные 3 и 5, а не 3 ИЛИ 5. И и ИЛИ — две большие разницы, как говорят в Одессе
let arr = new Array(+prompt(‘n’));
for (var i = 0; i < arr.length; i++) <
arr[i] = i
>;
let result = arr.filter(n => !(n % 3) && !(n % 5));
let sum = result.reduce((function (acc,i) < return acc + i >),0);
console.log(sum)
VIktorУченик (32) 1 год назад
а можешь объяснить про фильтер и редюс как работает тут?
Молот Шотландцев Высший разум (300933) filter отсеивает из массива то что не соответсвует условию, reduce берет переменную которая играет роль «аккумулятора» и плюсует к ней значения массива. Если у этой переменной будет значение 0 — в итоге получится сумма
RiodeJaneiroo / method1.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| // Method #1 |
| var num = 1234567890 ; |
| var result = num . toLocaleString ( ) ; // or .toLocaleString(‘ru’); |
| console . log ( result ) ; |
| // Method #2 |
| function numberWithSpaces ( x ) |
| return x . toString ( ) . replace ( / \B (? = ( \d < 3 >) + (? ! \d ) ) / g , » » ) ; |
| > |
| console . log ( numberWithSpaces ( 100 ) ) ; |
| console . log ( numberWithSpaces ( 10000 ) ) ; |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Footer
© 2024 GitHub, Inc.
You can’t perform that action at this time.
JavaScript | Как получить каждую цифру из числа?
Это самый короткий вариант записи кода для решения данной задачи.
В конкатенации у нас две одинарные кавычки, а не одна двойная. Не пропустите.
Результат работы выражения:

Способ разложения числа на цифры через Array . from() в JavaScript
У нас есть число:
let chislo = 1750836502
Как нам получить отдельно цифры, из которых состоит число?
Шаг первый — Превращаем число в строку
String(chislo)
Мы обращаемся к конструктору строк и передаём в него наше число
Шаг второй — Превращаем строку в массив
Array.from(String(chislo))
Получаем массив, в котором каждое «число» лежит отдельным элементом в виде строки.
Шаг третий — Конвертируем строковые значения в числовые
Array.from(String(chislo)).map(i=>Number(i))
Получаем массив чисел. Задача выполнена!