问题标签 [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.
javascript - 在 JavaScript 中错误地四舍五入的大数
请参阅此代码:
当我在 Firefox 3.5 中看到我的控制台时, 的值jsonParsed
是四舍五入的数字:
尝试了不同的值,结果相同(四舍五入)。
我也没有得到它的四舍五入规则。714341252076979136 舍入为 714341252076979200,而 714341252076979135 舍入为 714341252076979100。
为什么会这样?
algorithm - 多项式评估精度,乘法与除法
假设我在 x 中有多项式,除以 x 的幂:
抛开效率不谈,这将是更准确的数值计算,上面或使用除法:
谢谢
javascript - Jquery 显示 $20.099999999999998 而不是 $20.1
这是Jquery代码:</p>
当 reader 的值为 67 且 unitpay 为 0.3 时,它会计算总价并显示 $20.099999999999998 ,而不是 $20.1。怎么了?如果我希望它显示 $20.1 而不是 $20.099999999999998,我该如何重写代码?
python - Python float - str - 浮动怪异
这里发生了什么?如何转换0.47000000000000003
为字符串并将结果值转换回浮点数?
我在 Windows 上使用 Python 2.5.4。
sql - 如何在 SQL Server 2000/2005/2008 中使用 FLOAT 转换小数位数
在这个SO question中,OP 想要将 0 放在小数位上以获得他的结果。现在我给出的(下面)示例是用 DECIMAL 进行 CAST,然后用 FLOAT 进行 CAST。
例如
使用上面的示例并在 SQL Server 2005/2008 中运行它似乎会得到正确的结果 0.55。但正如彼得在另一篇文章中指出的那样,在 SQL Server 2000 中运行它会产生 0.55000000000000004。
所以我的问题是:
在 SQL 中进行数据转换时,是否要不惜一切代价避免使用 FLOAT?
为什么在 SQL2k 中产生但
cast(0.55 as float)
在以后的版本中?0.55000000000000004
0.55
Microsoft 是否在更高版本的 SQL Server 中使用 FLOAT 更加可靠?
谢谢你的时间。
perl - 如何在 Perl 中设置浮点精度?
有没有办法设置 Perl 脚本的浮点精度(到 3 位),而不必专门为每个变量更改它?
类似于 TCL 的东西:
c - printf() 中的浮点格式
我有一个浮点数组,其中数据以不同的小数点存储,所以有些是123.40000
, 123.45000
, 123.45600
...到底。这可能吗?如果是这样,怎么做?printf()
123.4
123.45
123.456
java - 12.1 可以精确地表示为浮点数吗?
这是参考此问题中的评论:
Java 中的这段代码生成 12.100000000000001,这是使用 64 位双精度数,可以精确地呈现 12.1。– 热解
这是真的?我觉得由于浮点数表示为 2 的幂的和,所以无论你有多少位,你都不能准确地表示 12.1。但是,当我实现了这两种算法并打印了使用具有许多有效数字的 (12.1, 3) 调用它们的结果时,我分别得到了他和我的结果:
12.10000000000000000000000000000000000000000000000000000000000000000000000000 12.10000000000000100000000000000000000000000000000000000000000000000000000000
我使用String.format("%76f")
. 我知道这比必要的零多,但我在 12.1 中看不到任何舍入。
precision - 整数和浮点精度
这更像是一个数值分析而不是编程问题,但我想你们中的一些人将能够回答它。
在两个浮点数的总和中,是否有任何精度损失?为什么?
在浮点数和整数的总和中,是否有任何精度损失?为什么?
谢谢。
c++ - sprintf(buf, "%.20g", x) // buf 应该有多大?
我正在将双精度值转换为这样的字符串:
我已将缓冲区大小硬编码为 30,但不确定这对于所有情况是否足够大。
- 如何找出我需要的最大缓冲区大小?
- 从 32 位切换到 64 位时,精度是否会更高(因此缓冲区需要增加)?
PS:我不能使用ostringstream
或boost::lexical_cast
出于性能原因(见此)