как перевести число в денежный формат (чтобы 3 числа отделялись пробелом)? в JS

как перевести число в денежный формат (чтобы 3 числа отделялись пробелом)? в JS

33333333333333 стало : 333 333 333 333.00


Ответы (3 шт):

Автор решения: Denis640Kb

let val = '33333333333333';
function makeMoney(n) {
    return parseFloat(n).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1 ");
}
console.log(makeMoney(val));

→ Ссылка
Автор решения: HackerU

1) разворачиваем строку, чтобы не полные кластеры оставались слева (пример: 13 453, а не 134 53)
2) делим на кластеры по 3
3) переворачиваем обратно, убираем лишние пробелы по бокам, добавляем 00 в конце.

function toFormat(str){
    return str.split('').reverse().join('') 
              .match(/\d{0,3}/g).join(' ')
              .split('').reverse().join('').trim()+'.00'
}
→ Ссылка
Автор решения: Дмытрык

  const num = 33333333333333;
  console.log(num.toLocaleString('ru-RU')+'.00')
  
  

→ Ссылка