derzost_namereniya
@derzost_namereniya
Куплю сайт

Как отформатировать числа внутри строки?

Есть несколько див-блоков, в которых есть текст и числа. Хочу применить формат "34 000" с помощью toLocaleString.
Если один див-блок и одно число в диве, то всё работает. Не получается применить метод к нескольким дивам.
<div class="number">Здесь текст и между встречаются числа 33000; и ещё числа 1999</div>
<div class="number">Здесь текст и также встречаются числа 12000; и ещё числа 7644</div>

Блоки получаю с помощью document.querySelectorAll
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('.number').forEach(n => {
  n.innerText = n.innerText.replace(/\d+/g, m => (+m).toLocaleString());
});

или

for (const n of document.getElementsByClassName('number')) {
  n.textContent = n.textContent.replace(/\d(?=(\d{3})+(\D|$))/g, '$& ');
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы