在Javascript应用程序中,你可以将数据存储为数字,并以货币字符串显示数据。
例如,在商业网络应用中,每个产品都有价格显示。假设应用程序向美国用户显示美元,向印度用户显示卢比。
每种语言都提供了内部化的API来显示本地化格式的数据。
javascript提供了默认的本地化和内部化API来转换本地化的字符串格式。
将数字转换成货币字符串的Intl.NumberFormat
首先创建一个NumberFormat类,用于转换为特定语言的字符串。
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
//minimumFractionDigits: 0,
//maximumFractionDigits: 0,
});
你需要提供以下属性
- locale字符串,包含语言代码和国家代码,例如:en-US,ie en-IN,de-DE,ja-JP
- 货币字符串,如果样式是货币,值是USD,EUR,JPY,如果样式单位值是升,公里/小时,则显示货币的符号。
- 样式 :- 货币,单位
下面是一个完整的例子
const number = 100000;
console.log(new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(number)); //"$100,000.00"
console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));//"100.000,00 €"
console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number));// "¥100,000"
console.log(new Intl.NumberFormat('en-IN', { }).format(number));
//"1,00,000"
console.log(new Intl.NumberFormat('ar-EG').format(number));
// "100,000"
使用toLocaleString将数字格式化为货币字符串
toLocaleString 将数字转换成本地化的货币字符串
下面是一个例子
const number = 1000000;
console.log(number.toLocaleString('en-US', { style: 'currency', currency: 'USD' })); //$1,000,000.00
console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));//1.000.000,00 €
console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' })); // ¥1,000,000
console.log(number.toLocaleString('en-IN', { style: 'currency', currency: 'INR' })); //₹10,00,000.00