我正在尝试将一种美国货币转换成一种西班牙货币(ok),但当我试图再次获得美国货币时,我得到了一个Nan。怎么了?
谢谢
const esp = Number('5000.55').toLocaleString(); // esp = '5.000,55'
const us = Number('5.000,55').toLocaleString('en-US'); // us = 'NaN'发布于 2019-05-31 17:16:55
除了HRK44的回答,我建议使用Intl.NumberFormat,它是国际化应用编程接口的一部分。.toLocaleString更老了,它实际上并不支持语言环境,它只使用系统语言环境,在处理批量数据时性能更差。
然后,可以使用适当的语言代码执行如下所示的转换:
var CurrencyFormat= new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
CurrencyFormat.format(5000.55); /* $5,500.55 */发布于 2019-05-31 17:12:04
这是因为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-创建您自己的函数,将结果解析为您喜欢的任何形式(可能很难处理所有情况...)
https://stackoverflow.com/questions/56391784
复制相似问题