0.1+07 !=0.8的原因

、小数的问题

1. 现象

·明明只有一位小数,但是最后出来很多位;

·0.1 + 0.7 = 0.799999999999999;

·59.999999999999999 不小于 60;

·诸如此类问题......

2. 原因

·计算机最终执行或识别的符号只有0和1,二进制;

·计算机中有一套完善的转换机制,所有内容,不管是文字,字符,任何数据,图片,声音,视频,最终都会被解析成二进制;

·计算机对于小数的计算,会产生误差。

3. 解决

·主动保留n为小数,得到数据类型是字符;

·num = num.toFixed(n);

·转成数值;

·num = Number(num)。

原文地址:https://www.cnblogs.com/yh-3175339026/p/12769523.html