问题描述
|
我正在测试我的一些代码,在javascript中我添加了.1 + .2,它给了我.30000000000000004而不是.3。我不明白这一点。
但是,当我加上.1 + .3时,它便得出了.4。我在Google上搜索了一下,发现它与Double Precision加法有关。但是我不知道这是什么。
解决方法
这是必不可少的链接:每位计算机科学家都应了解的浮点算法
基本上,有许多以10为基数的数字不能以大多数计算机使用的浮点格式正确表示,因此您会遇到一些突出显示的问题。
,如果您对每个计算机科学家都应该了解的浮点算法一无所知,请尝试使用JavaScript中特定于javascript的Rounding。
,浮点数的精度是有限的,因为该数字以有限的位数存储。
您尝试存储的数字无法准确存储,因此使用了近似值。
每个计算机科学家都应了解的浮点运算法则。