React-собственный набор номера в строку по локали - PullRequest
0 голосов
/ 16 мая 2019

У меня есть номер, если я использую amount.toFixed (), я получаю эту строку "100,00". Я хочу, чтобы результат соответствовал локали.

если итальянская локаль, то результат 100,00, если локаль английская, результат 100.00

что я могу использовать?

amount.toFixed(2)

Я использую реагирующе-родной

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Вы должны использовать непосредственно встроенный метод javascript Intl .Number Format .Есть много полезных свойств.

Для форматирования вашего номера вы можете использовать свойства maximumSignificantDigits, minimumSignificantDigits, maximumFractionDigits, minimumFractionDigits и minimumIntegerDigits.

Вот рабочая скрипка:

var number = "123456.78"; // string 

console.log(new Intl.NumberFormat('de-DE', { style: 'decimal'}).format(number));

console.log(new Intl.NumberFormat('en-US', { style: 'decimal', maximumSignificantDigits:7 }).format(number));
0 голосов
/ 16 мая 2019

Javascript имеет встроенную функцию для этого, Intl.NumberFormat:

const updateNr = (val: any) => {
var formatter = new Intl.NumberFormat("it-IT");         
updateValue(formatter.format(val.replace(/,/g, "")));   //Remove ',' to format number again
};

Или вы можете использовать плагин формата числа-реагирования , если вы используете React.

...