Подтвердить что ты не робот

Номер Javascript и локализация валюты

Я столкнулся с числами и валютной локализацией в JavaScript

Для этого мне нужна удобная библиотека.

Я отвечаю за установку десятичных разделителей, валюты и т.д.

Пожалуйста, разместите лучшие ссылки, которые вы считаете

4b9b3361

Ответ 1

Большинство современных браузеров имеют встроенную поддержку интернационализации в форме глобального объекта Intl и расширений Number, String & Дата.

var money = 123456.12;

// display with correct formatting
money.toLocaleString('de-DE'); // "123.456,12"

// for currency, bad as we're leaving the precision to the gods of floating point numbers
money.toLocaleString('en-GB', { style: 'currency', currency: 'GBP' }); // "£123,456.12"

// for currency, good as we're using strings...
new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format('12312.12')

Если вы не знаете, почему числа с плавающей запятой плохи для информации о валюте, проверьте это на числах с плавающей запятой

Ответ 2

Лучший ответ для вас, вероятно, зависит от того, какая библиотека javascript, если таковая имеется, в настоящее время используется. Но YUI поддерживает число/форматирование валюты с интернационализацией, и это прочная и хорошо продуманная библиотека.

Пример:

alert(Y.DataType.Number.format(123123123.176,{
    prefix: "€",
    thousandsSeparator: ".",
    decimalSeparator: ",",
    decimalPlaces: 2,
    suffix: " (EUR)"
}));

Ответ 4

Этот пост довольно старый, но я отправляю ответ, если он кого-то интересует.

Я нашел, что библиотека numeral.js очень полезна для этого.
Вы можете определить свои пользовательские форматы и добавить локализованные файлы так же, как "moment.js".

Вероятно, вам стоит проверить, соответствует ли он вашим потребностям.