当前位置: 首页 > 知识库问答 >
问题:

在Javascript中,大浮点数的小数位数有限制吗?

慕嘉茂
2023-03-14

我面临以下问题/行为:

console.log(1234567892012.123456);   // 1234567892012.1234
console.log(12345678920123.123456);  // 12345678920123.123
console.log(123456789201234.123456); // 123456789201234.12

这是什么导致的?大数/浮动的小数位有限制吗?

它是否与IEEE 754标准相关(如本文所述:浮点数学是否被破坏?)?

最后——我该如何解决这个问题?

共有1个答案

皇甫德庸
2023-03-14

是的,您看到了64位浮点数的固有局限性。如果你真的需要在一个像123,456,789,201,234这样大的数字上有两个以上的小数位数,你需要某种扩展的算术库。这个问题有一些建议和讨论。

 类似资料:
  • 问题内容: 我想四舍五入为。 该功能无法按我预期的方式工作。 问题答案: 你遇到了浮点数的老问题,不是所有的数字都能精确地表示。命令行只是向你显示内存中的完整浮点形式。 对于浮点表示,舍入的版本是相同的数字。由于计算机是二进制的,它们将浮点数存储为整数,然后除以2的幂,因此将以类似于的方式表示。 双精度数字有53位(16位)的精度,而常规浮点数有24位(8位)的精度。Python中的浮点类型使用双

  • 问题内容: 我似乎在使用浮点数时失去了很多精度。 例如,我需要求解一个矩阵: 这是我用来从文本文件导入矩阵的代码: 我需要使用gauss-seidel进行求解,因此需要重新排列x,y和z的方程式: 这是我用来重新排列方程式的代码。是系数矩阵,是答案向量: 但是,我得到的答案并不精确到小数位。 例如,从上面重新排列第二个方程式后,我应该得到: 我得到的是: 这看起来似乎不是一个大问题,但是当您将数字

  • 问题内容: 我有一个使用浮点参数的函数(通常是整数或具有一位有效数字的十进制数),我需要将输出的值输出到具有两位小数的字符串中(5-> 5.00、5.5-> 5.50等)。如何在Python中执行此操作? 问题答案: 由于这篇文章可能会在这里出现一段时间,因此我们还要指出python 3语法:

  • 问题内容: 我正在尝试编写一个可帮助你管理财务的应用程序。我正在使用一个字段,用户可以在其中指定金额。 我将设置为可以正常使用,除了允许人们输入数字(例如,这对金钱而言并不完美)之外,它设置得很好。 有没有办法将小数点后的字符数限制为两个? 问题答案: 这是一个示例InputFilter,它仅允许在小数点前最多4位,在小数点后最多1位。 价值观是允许的EditText:555.2,555,0.2

  • 问题内容: 我正在尝试设置python 库,以便将包含其他字典作为元素的字典保存到文件中。浮点数很多,我想将位数限制为例如。 根据其他帖子,应使用SO 。但是,它不起作用。 例如,下面的代码在Python3.7.1中运行,将打印所有数字: 我该如何解决? 可能无关紧要,但我在macOS上。 编辑 该问题被标记为重复。但是,在原始帖子的已接受答案(到目前为止是唯一的答案)中明确指出: 注意:此解决方

  • 我对编程很陌生,在大学里我们学习了不同类型的数字(整数、短数、浮数、双数)。Float和double是浮点数。通常,它们由一个符号+/-、一个尾数和一个指数组成。每个部分占用一定数量的比特。一个浮动最多可以显示小数点后7位,最多可以双倍显示16位。其公式是: 23·log10(2)=23·(log(2)/log(10))≈23·0.3≈7(浮点数小数点后) 52·0.3≈16(双人小数点后) 我知