[英]NumberFormat returning wrong format for converting number to currency
代码:
let currency = 400023; console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(currency));
预计: 400.023,00 欧元
实际: 400,023.00 欧元
在我在 JS 文档中找到的示例中,它显示点被用作千位分隔符和逗号用于美分,但是当我自己使用它时它不起作用。
正如@RobG 指出的,这是您的 JS 实现的问题,它没有正确支持 Intl 对象。
当前所有的浏览器都完全支持 Intl。
如果您在 Node.js 上运行您的代码,情况会稍微复杂一些。 在 Node.js 13 之前,只有部分支持包括 Intl 在内的国际化 (ICU)。
从 Node.js 13 开始,默认情况下内置了完整的 ICU/国际化支持。 详情请见:
本质上,您可以运行这段代码:
console.log(new Intl.DateTimeFormat('es',{month:'long'}).format(new Date(9E8)));
您的输出可能是:
如果您坚持使用 Node.js < 13,您可以使用https://www.npmjs.com/package/full-icu回填完整的 ICU 支持。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.