我正在尝试将美元转换为西班牙货币(好的),但是当我再次尝试获取美元时,我得到了Nan。怎么了?
谢谢
const esp = Number('5000.55').toLocaleString(); // esp = '5.000,55'
const us = Number('5.000,55').toLocaleString('en-US'); // us = 'NaN'
答案 0 :(得分:2)
在HRK44的答案中,我建议使用Intl.NumberFormat,它是国际化API的一部分。 .toLocaleString
较旧,它实际上不支持语言环境,它仅使用系统语言环境,并且对大容量数据的处理方式更差。
然后您可以使用适当的语言代码执行以下转换:
var CurrencyFormat= new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
CurrencyFormat.format(5000.55); /* $5,500.55 */
答案 1 :(得分:1)
这是因为Number('5.000,55')
不正确->它返回NaN。
没有本地js函数可以从.toLocaleString()
结果中获取数字。
您可以做什么:
1-将初始值保存到变量中:
const init = '5000.55';
const esp = Number(init).toLocaleString(); // esp = '5.000,55'
const us = Number(init).toLocaleString('en-US'); // us = '5,000.55'
2-使用一些处理数字操作的第三方库。
3-创建您自己的函数,将结果解析为所需的内容(可能很难处理所有情况...)