问题标签 [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.
java - 在java中操作和比较浮点数
在 Java 中,浮点运算不能精确表示。例如这个java代码:
打印“c 不是 3.6”。
我对超过 3 位小数 (#.###) 的精度不感兴趣。我该如何处理这个问题来乘以浮点数并可靠地比较它们?
c++ - C++ 浮点精度
可能重复:
浮点不准确示例
结果:0.2999999999999999889
结果:15.000000000000014211
所以.. 'a' 比它应该的要小。但是如果我们取 'a' 50 次 - 结果会比它应该的要大。
为什么是这样?在这种情况下如何获得正确的结果?
floating-point - 为什么 99.99 / 100 = 0.9998999999999999
可能重复:
处理浮点数的准确性问题
而 99.99 * 0.01 = 0.99
显然这是古老的浮点舍入问题,但是在这种情况下的舍入误差对我来说似乎相当大;我的意思是我可能期望得到 0.99990000001 或类似的“接近”结果。
作为记录,我在 JavaVM 和 .Net 环境中得到了相同的答案。
delphi - 修复浮点错误
我有一些代码使用普通数学而不是字符串数学来获取 Double 的前导值(非零)......
例如:
0.020 将返回 2
3.12 将返回 3
1000应返回 1
我现在的代码是:
但是,当 ResultValue 为 1000 时,LeadingValue 最终为 0。
我可以做些什么来解决我假设是由浮点错误引起的这个问题?
谢谢。
php - 0.699 x 100 = 69.89999999999999?
我在 php 和 javascript 中看到过这个问题。我有这个号码:float 0.699
如果我这样做:0.699 x 100 = 69.89999999999999
为什么?
编辑
round(0.699 x 10, 2)
: 浮动 69.90000000000001
python - python浮点数
我有点困惑为什么在这种情况下python会添加一些额外的十进制数,请帮忙解释
c - 为什么我不能乘以浮点数?
可能重复:
处理浮点数的准确性问题
我很惊讶为什么我试图在 C 中乘以一个浮点数(使用 GCC 3.2)并且它没有按我预期的那样做。作为示例:
显示:31.099998
我很好奇浮动的实现方式以及为什么会产生这种意外行为?
c++ - /fp:fast 的奇怪结果
我们有一些看起来像这样的代码:
不幸的是,当使用 flag 时/fp:fast
,我们得到了,calc_something(0)==1
所以我们显然采用了错误的代码路径。这只发生在我们在代码中的多个点使用不同参数的方法时,所以我认为编译器(Microsoft Visual Studio 2008,SP1)在这里进行了一些可疑的优化。
此外,当我们将界面更改为
但我不知道为什么这会解决奇怪的行为。任何人都可以解释这种行为吗?如果我无法理解发生了什么,我们将不得不移除/fp:fast
开关,但这会使我们的应用程序变得相当慢。
c - 将双精度数除以整数
我在将 adouble
与 a 分开时遇到了一个问题int
。代码片段是:
res 的值0.10000000000000001
不是0.10
.
有谁知道这是什么原因?我正在使用 cc 来编译代码。
javascript - JavaScript 中处理大数字(BigNum)的标准解决方案是什么?
是否有一个用于 JavaScript 的 bignum 库或我可以包含的内置库,例如
?
我认为我的用户更愿意在网页中输入数字并等待 7 秒的结果,而不是下载可执行文件并单击一堆“此可执行文件可能会损害您的计算机”警告屏幕来安装它。
我考虑过基于http://github.com/silentmatt/javascript-biginteger或http://www.mainebrook.com/john/fun/euler.html。或者你会推荐从 JavaScript 调用到一个 Java bignum 库,比如 apfloat?