javascript - 需要将小数限制为 20

标签 javascript locale

我有一个场景,将数字转换为用户首选项字符串

conv = num.toLocaleString('de-DE', { maximumFractionDigits: 20 })

由于我有很长的数字,我想限制最多 20 位小数。 但上面的代码没有给我想要的输出。

有人可以建议如何实现同样的目标吗?

谢谢, 努普尔

最佳答案

问题在于 float 在处理器中的存储方式。请参阅 Floating Point arithmeticDouble-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/

相关文章:

apache-flex - Flex : Wrapper for ResourceManager. getInstance().getString 未收到 localeChain 更新通知

javascript - 为什么在数组内移动数组会影响复制的(不是通过引用)数组,但移动整个初始数组却不会? (JavaScript)

java - 有没有办法强制异常消息为 Java 1.7 的英语

android - 我无法通过系统设置更改我的 Android 应用程序的语言

JavaScript 在 30 秒后提交页面

ios - 如何更改 Xcode Playground 上的语言环境

java - 处理 Java 中正式和非正式语言的语言环境

javascript - Array Reverse 对我不起作用...

javascript - google.load 从不调用回调

使用 val().match() 方法的 Javascript 正则表达式