[英]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.