反应本地集编号按区域设置为字符串

时间:2019-05-16 07:46:40

标签: javascript typescript react-native locale

我有一个数字,如果我使用amount.toFixed(),则会得到此字符串“ 100.00”。我希望结果与语言环境保持一致。

如果语言环境为意大利语,则结果为100,00, 如果语言环境为英语,则结果为100.00

我可以使用什么?

amount.toFixed(2)

我使用react-native

2 个答案:

答案 0 :(得分:0)

为此,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,则可以使用react-number-format plugin

答案 1 :(得分:0)

您应该直接使用javascript内置方法 Intl​.Number​Format。有许多有用的属性。

要设置电话号码格式,可以使用属性maximumSignificantDigitsminimumSignificantDigitsmaximumFractionDigitsminimumFractionDigitsminimumIntegerDigits

这是一个工作的小提琴:

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));