首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript,从美元货币到es货币

Typescript,从美元货币到es货币
EN

Stack Overflow用户
提问于 2019-05-31 16:55:57
回答 2查看 145关注 0票数 0

我正在尝试将一种美国货币转换成一种西班牙货币(ok),但当我试图再次获得美国货币时,我得到了一个Nan。怎么了?

谢谢

代码语言:javascript
复制
const esp = Number('5000.55').toLocaleString(); // esp = '5.000,55'
const us = Number('5.000,55').toLocaleString('en-US'); // us = 'NaN'
EN

回答 2

Stack Overflow用户

发布于 2019-05-31 17:16:55

除了HRK44的回答,我建议使用Intl.NumberFormat,它是国际化应用编程接口的一部分。.toLocaleString更老了,它实际上并不支持语言环境,它只使用系统语言环境,在处理批量数据时性能更差。

然后,可以使用适当的语言代码执行如下所示的转换:

代码语言:javascript
复制
var CurrencyFormat= new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 2
});

CurrencyFormat.format(5000.55); /* $5,500.55 */
票数 2
EN

Stack Overflow用户

发布于 2019-05-31 17:12:04

这是因为Number('5.000,55')不是正确的->,它返回NaN。

没有本机js函数可以从.toLocaleString()结果中获取数字。

你可以做什么:

1-将初始值保存到变量中:

代码语言:javascript
复制
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-创建您自己的函数,将结果解析为您喜欢的任何形式(可能很难处理所有情况...)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56391784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档