2017-02-14 6 views
1

Мой JavaScript toLocaleString() делает что-то странное здесь. Если у меня есть число меньше 1000, оно будет давать точку в виде десятичного разделителя, но если у меня будет число более 1000, это даст мне запятую как десятичный разделитель.JavaScript: toLocaleString()

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

Это, как я использую код:

sellingPrice.toLocaleString(undefined, { minimumFractionDigits: 2 } 

Если sellingPrice является 700, это даст мне 700.00 Если sellingPrice является 7000, это даст мне 7.000,00

Но результат тот же

Почему это происходит?

+1

[Хорошо выглядит для меня.] (Https://i.imgur.com/aD0i5Gj.png) Проверьте локали Chrome. 'window.navigator.language' – mallendeo

+0

Для' 7000' и ​​'700' это возвращает' 7.000,00' и ​​'700,00' соответственно ~' number.toLocaleString ('de', {minimumFractionDigits: 2}) ' – Phil

+0

Как точно настроить формат? Какая настройка будет javascript? –

ответ

0
var sellingPrice=700;sellingPrice.toLocaleString('en-us', { minimumFractionDigits: 2 }); 

даст вам результат 700.00

и

var sellingPrice=7000;sellingPrice.toLocaleString('en-us', { minimumFractionDigits: 2 }); 

даст вам результат 7,000.00

0

Я только что узнал, что браузер после локаль браузера.

В моем случае я использую хром. Я должен изменить язык на свой язык (Индонезия), чтобы достичь своей цели, что немного разочаровывает. Я хочу, чтобы язык моего браузера был английским.

Я не могу использовать «en» или «de», потому что я хочу, чтобы код был динамическим и следовал языку пользователя.

Смежные вопросы