i18n:如何本地化大数字和/或大浮点数



在我的JS应用程序中,我有一个很大的数字,可以(也可以不(包含小数点。小数位数未确定的小数位数。一个类似于:-11212121332131343141456.12345678901234567的数字。

所以我不能使用BigInt(number).toLocaleString(localeCode),因为这个数字可能包含小数点。此外,我不能使用Intl.NumberFormat(localeCode).format(number),因为在某些时候,它会因为超出Number.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGER范围或小数过多而失去精度。

如何应对这种情况?

可以使用BigInt.toLocaleString(...)单独拆分和解析目标编号,然后在末尾粘贴。应特别注意小数部分,该部分不应包含组分隔符。

我面对这个问题,开发了一个小库,可以帮助您本地化这些数字:NumberLocalizer

相关内容

最新更新