使用Kahan在JS中浮点数

时间:2017-07-14 11:08:26

标签: javascript algorithm

我使用Kahan_summation_algorithm对浮点数组求和。通常它运作良好,但是当我尝试将j +中的至少两个0.1 + 0.2相加时存在问题 它给出了0.30000000000000004,即使我增加数组中的元素以强制使用err变量。还测试了项目的重复和否定它们[0.1,0.2,0.1,0.2,-0.1,-0.2] 现在我开始使用固定数乘以10的幂,但这个速度较慢,只有当我知道精度时才有效,我考虑将这些算法结合起来。

我需要在所有情况下使用求和浮点数的工作算法,在大多数Kahan算法工作但是0.1 nad 0.2 not。点之后的舍入或切割结果数也是不可接受的,因为我不知道输入数字或符号的精确度

1 个答案:

答案 0 :(得分:0)

http://0.30000000000000004.com/页面上找到解决方案 并使用http://mikemcl.github.io/decimal.js/