手记

学习笔记--JS中小数运算出现结果不正确

var a=0.1*0.1;
var b=0.3-0.2;
var c=0.09+0.01;
alert(a); //0.010000000000000002
alert(b); //0.09999999999999998
alert(c); //0.09999999999999999
原因:
JS在运算过程中是先把十进制的运算数转换成二进制,再做运算,运算完成后再转换成十进制,转换时有些小数部分十进制不能正确转换成二进制。
解决办法:
在运算过程中把运算数同时扩大到的10的整数倍,算出结果后再去除整数倍。

0人推荐
随时随地看视频
慕课网APP