我有一个场景,将数字转换为用户首选项字符串
conv = num.toLocaleString('de-DE', { maximumFractionDigits: 20 })
由于我有很长的数字,我想限制最多 20 位小数。 但上面的代码没有给我想要的输出。
有人可以建议如何实现同样的目标吗?
谢谢, 努普尔
最佳答案
问题在于 float 在处理器中的存储方式。请参阅 Floating Point arithmetic 和 Double-precision floating-point format 。
数字中不能有 20 位有效小数。它们将在最后被 chop
查看示例:
num = 0.0000000000000000123456;
将显示为 "0,00000000000000001235"
和
num = 1.00000000000000000123456;
将显示为 "1,00000000000000000000"
如果您想强制使用 20 个小数位,请使用此选项对象:
{minimumFractionDigits:20,maximumFractionDigits:20}
关于javascript - 需要将小数限制为 20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53277989/