Проблема с форматированием десятичных знаков в Javascript - PullRequest
0 голосов
/ 17 января 2020

У меня проблема с десятичными знаками. Мой код дает мне результат 123 123 12, в то время как мне нужно отобразить результат в виде 12 312 312.

Может ли кто-нибудь помочь установить это форматирование?

Код здесь:

        var fcqInteger = parseInt(fcq.replace(/\s/g, ''));
        valPrice = parseFloat(valPrice.replace(',', '.'));
        var marketCap = (fcqInteger * valPrice)+'';
        // result
        var marketCapParts = marketCap.match(/[\s\S]{1,3}/g) || []; 
        marketCap = marketCapParts.join(' '); 

Спасибо за помощь.

Ответы [ 2 ]

4 голосов
/ 17 января 2020

Вы можете заменить на пробел, посмотрев в конец строки для группы из трех.

var data = '12312312'

console.log(data.replace(/.{1,3}(?=(...)+$)/g, '$& '));  // replace
console.log(data.match(/.{1,3}(?=(...)*$)/g).join(' ')); // match/join
1 голос
/ 17 января 2020

Вы можете использовать Number.toLocaleString, а затем заменить , пробелами.

let num = '123 123 12';
let out = Number(num.replace(/\s/g, '')).toLocaleString('us-US', {maximumFractionDigits: 5}).replace(/,/g, ' ');
console.log(out)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...