Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как уменьшить количество переменных для вычислений? (https://javascript.ru/forum/dom-window/81356-kak-umenshit-kolichestvo-peremennykh-dlya-vychislenijj.html)

Sergey-web92 13.11.2020 12:51

Как уменьшить количество переменных для вычислений?
 
Здравствуйте. Помогите пожалуйста разобраться с вопросом.
Преобразовываю числа в формат "3 256,00". Как можно сделать это короче, используя объекты или массивы, чтобы не плодить кучу переменных?
let num = 3830000.00;
let str = num.toFixed(2);
let art = str.replace('.', ',');
alert(art.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '));
// =
let num2 = 9830450.00;
let str2 = num2.toFixed(2);
let art2 = str2.replace('.', ',');
alert(art2.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '));
// 
let num3 = 1831150.10;
let str3 = num3.toFixed(2);
let art3 = str3.replace('.', ',');
alert(art3.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '));

voraa 13.11.2020 13:04

alert(new Intl.NumberFormat('ru-RU',{minimumFractionDigits:2}).format(3256))
alert(new Intl.NumberFormat('ru-RU',{minimumFractionDigits:2}).format(9830450.00))
alert(new Intl.NumberFormat('ru-RU',{minimumFractionDigits:2}).format(1831150.10))


Если много преобразовывать, то преобразователь можно определить один раз

let intl = new Intl.NumberFormat('ru-RU',{minimumFractionDigits:2});
alert(intl.format(3256))
alert(intl.format(9830450.00))
alert(intl.format(1831150.10))

Sergey-web92 13.11.2020 13:09

Большое спасибо)


Часовой пояс GMT +3, время: 05:31.