gpt4 book ai didi

javascript - NumberFormat 返回将数字转换为货币的错误格式

转载 作者:行者123 更新时间:2023-11-28 03:04:03 26 4
gpt4 key购买 nike

代码:

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 之前,仅部分支持国际化(ICU),包括 Intl。

从 Node.js 13 开始,默认内置完整的 ICU/国际化支持。详情请见:

本质上,您可以运行这段代码:

console.log(new Intl.DateTimeFormat('es',{month:'long'}).format(new Date(9E8)));

您的输出可能是:

  • 错误:不支持 ICU - 非常旧的浏览器/Node.js
  • 一月:部分支持 ICU - 旧版浏览器/Node.js < 13
  • enero:完全支持 ICU - 最近的浏览器/Node.js >= 13

如果您无法使用 Node.js < 13,您可以使用 https://www.npmjs.com/package/full-icu 回填完整的 ICU 支持。 .

关于javascript - NumberFormat 返回将数字转换为货币的错误格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60772533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com