Как убрать запятую для Javascript функции toLocaleString - PullRequest
0 голосов
/ 13 февраля 2020

В настоящее время я пытаюсь разобраться с числами как для английского, так и для английского (de) языков. У меня есть глобальная функция, которая делает это и работает нормально, пока число не достигнет 1000 или более.

    function getLocaleString(floatValue) {
    var CurrentCulture = $('#CurrentCulture').val();
    if (CurrentCulture != "" && CurrentCulture != null) {
    return floatValue.toLocaleString(CurrentCulture, { minimumFractionDigits: 2, 
    maximumFractionDigits: 2 });
    }
    return floatValue;
    }

Есть ли способ получить это, чтобы удалить запятую, чтобы цифры не искажались?

Ответы [ 3 ]

0 голосов
/ 13 февраля 2020

Вы можете просто использовать replace(). Javascript метод замены строки

floatValue.toLocaleString(CurrentCulture, {minimumFractionDigits: 2, 
    maximumFractionDigits: 2 }).replace(/,/g, "");;

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

0 голосов
/ 13 февраля 2020

Вы можете установить для параметра useGrouping значение false.

floatValue.toLocaleString(CurrentCulture, { minimumFractionDigits: 2, 
maximumFractionDigits: 2, useGrouping: false });

Следует избегать запятой для группировки тысяч в engli sh и точки для группировки тысяч в немецком языке.

0 голосов
/ 13 февраля 2020

Поскольку .toLocaleString() зависит от языка, замена вручную не рекомендуется. Разные языки могут использовать разные символы в разных местах, как и предполагалось. Вместо этого используйте правильный форматер чисел.

Наиболее удобные и последовательные параметры без лишних регулярных выражений:

  1. Использование Intl.NumberFormat (рекомендуется : без дополнительной зависимости) :

const number = 123456.789;
console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));
// expected output: "123.456,79 €"
Используйте Число. js.

console.log(numeral('10,000.12').format('$0,0.00'));
console.log(numeral(1000).format('0,0'));
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>
Другие опции в сообщении SO Как напечатать число с запятыми в качестве разделителей тысяч в JavaScript .
...