一. 为什么0.1+0.2!=0.3
??
浮点数计算.png主要是因为:JavaScript在数字运算中的精度确实问题!
在计算机中的存储和运算中,数字都是以多位二进制的方法进行存储的。像0.1
和0.2
这样的数值用二进制表示是无法整除的,0.1
最后计算下来是0.000110011....
,由于存储空间有限,计算机舍弃了后面的数值,得到的是一个近似值。
最后,两个近似值相加,得到的结果也是近似值0.30000000000000004
,而这个近似值对于JavaScript来说不够近似于0.3,就会出现0.1+0.2!=0.3
的现象。
解决小数计算时的精度问题,常用的方法是:将浮点数转化成整数进行计算,因为整数可以精确表示。
网友评论