Javascript NumberFormat返回将数字转换为货币的错误格式
代码:Javascript NumberFormat返回将数字转换为货币的错误格式,javascript,formatting,Javascript,Formatting,代码: let currency=400023; console.log(新的Intl.NumberFormat('de-de'{ 风格:“货币”, 货币:欧元 }).格式(货币)正如@RobG指出的,这是JS实现的一个问题,它不能正确地支持Intl对象 所有当前浏览器都完全支持Intl 如果在Node.js上运行代码,情况会稍微复杂一些。在Node.js 13之前,仅部分支持国际化(ICU),包括Intl 从Node.js 13开始,默认情况下内置了完整的ICU/国际化支持。详情请参阅:
let currency=400023;
console.log(新的Intl.NumberFormat('de-de'{
风格:“货币”,
货币:欧元
}).格式(货币)代码>正如@RobG指出的,这是JS实现的一个问题,它不能正确地支持Intl对象
所有当前浏览器都完全支持Intl
如果在Node.js上运行代码,情况会稍微复杂一些。在Node.js 13之前,仅部分支持国际化(ICU),包括Intl
从Node.js 13开始,默认情况下内置了完整的ICU/国际化支持。详情请参阅:
基本上,您可以运行以下代码:
console.log(新的Intl.DateTimeFormat('es',{month:'long')).format(新的日期(9E8))代码>Firefox:“400.023,00欧元”,Chrome:“400.023,00欧元”,Safari:“400.023,00欧元”,Opera:“400.023,00欧元”。我只是看不到。如果你从IDE本地运行JS文件?如果我在这里运行代码片段,它就会工作。但在我本地的机器上却没有。它也不适用于我正在使用的第三方应用程序,我假设该应用程序在服务器机器上运行代码,并且使用逗号而不是千位分隔符的点返回相同的结果。可能是这些实现不支持de语言标记。这是Intl对象(和toLocaleString)的问题之一,请参见。