问题标签 [floating-accuracy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
28427 浏览

java - 在java中操作和比较浮点数

在 Java 中,浮点运算不能精确表示。例如这个java代码:

打印“c 不是 3.6”。

我对超过 3 位小数 (#.###) 的精度不感兴趣。我该如何处理这个问题来乘以浮点数并可靠地比较它们?

0 投票
5 回答
53908 浏览

c++ - C++ 浮点精度

可能重复:
浮点不准确示例

结果:0.2999999999999999889

结果:15.000000000000014211

所以.. 'a' 比它应该的要小。但是如果我们取 'a' 50 次 - 结果会比它应该的要大。

为什么是这样?在这种情况下如何获得正确的结果?

0 投票
2 回答
1492 浏览

floating-point - 为什么 99.99 / 100 = 0.9998999999999999

可能重复:
处理浮点数的准确性问题

而 99.99 * 0.01 = 0.99

显然这是古老的浮点舍入问题,但是在这种情况下的舍入误差对我来说似乎相当大;我的意思是我可能期望得到 0.99990000001 或类似的“接近”结果。

作为记录,我在 JavaVM 和 .Net 环境中得到了相同的答案。

0 投票
4 回答
1909 浏览

delphi - 修复浮点错误

我有一些代码使用普通数学而不是字符串数学来获取 Double 的前导值(非零)......

例如:
0.020 将返回 2
3.12 将返回 3
1000返回 1

我现在的代码是:

但是,当 ResultValue 为 1000 时,LeadingValue 最终为 0。

我可以做些什么来解决我假设是由浮点错误引起的这个问题?

谢谢。

0 投票
6 回答
528 浏览

php - 0.699 x 100 = 69.89999999999999?

可能的重复:
为什么 99.99 / 100 = 0.9998999999999999
处理浮点数的精度问题

我在 php 和 javascript 中看到过这个问题。我有这个号码:float 0.699

如果我这样做:0.699 x 100 = 69.89999999999999

为什么?

编辑

round(0.699 x 10, 2): 浮动 69.90000000000001

0 投票
4 回答
10177 浏览

python - python浮点数

我有点困惑为什么在这种情况下python会添加一些额外的十进制数,请帮忙解释

0 投票
6 回答
16726 浏览

c - 为什么我不能乘以浮点数?

可能重复:
处理浮点数的准确性问题

我很惊讶为什么我试图在 C 中乘以一个浮点数(使用 GCC 3.2)并且它没有按我预期的那样做。作为示例:

显示:31.099998

我很好奇浮动的实现方式以及为什么会产生这种意外行为?

0 投票
5 回答
982 浏览

c++ - /fp:fast 的奇怪结果

我们有一些看起来像这样的代码:

不幸的是,当使用 flag 时/fp:fast,我们得到了,calc_something(0)==1所以我们显然采用了错误的代码路径。这只发生在我们在代码中的多个点使用不同参数的方法时,所以我认为编译器(Microsoft Visual Studio 2008,SP1)在这里进行了一些可疑的优化。

此外,当我们将界面更改为

但我不知道为什么这会解决奇怪的行为。任何人都可以解释这种行为吗?如果我无法理解发生了什么,我们将不得不移除/fp:fast开关,但这会使我们的应用程序变得相当慢。

0 投票
3 回答
27826 浏览

c - 将双精度数除以整数

我在将 adouble与 a 分开时遇到了一个问题int。代码片段是:

res 的值0.10000000000000001不是0.10.

有谁知道这是什么原因?我正在使用 cc 来编译代码。

0 投票
2 回答
50914 浏览

javascript - JavaScript 中处理大数字(BigNum)的标准解决方案是什么?

是否有一个用于 JavaScript 的 bignum 库或我可以包含的内置库,例如

?

我认为我的用户更愿意在网页中输入数字并等待 7 秒的结果,而不是下载可执行文件并单击一堆“此可执行文件可能会损害您的计算机”警告屏幕来安装它。

我考虑过基于http://github.com/silentmatt/javascript-bigintegerhttp://www.mainebrook.com/john/fun/euler.html。或者你会推荐从 JavaScript 调用到一个 Java bignum 库,比如 apfloat?