JS浮点数的研究
2021-04-22 16:26
标签:差值 highlight tofixed ons 研究 运算 code fun 浮点数 在js中所有的整数和小数都是以Number形式储存在字节bit中,而javaScipt中Number采用的是64位的双精度浮点型. 而0.1和0.2转为二进制时: 在加法计算时,Number实际上是以零后52位进行运算,有误差值. 以toFixed方法来固定保留小数位,固定保留小数位。 JS浮点数的研究 标签:差值 highlight tofixed ons 研究 运算 code fun 浮点数 原文地址:https://www.cnblogs.com/zenggaozheng/p/12243463.html为什么0.1 + 0.2 得到的是 0.30000000000000004
console.log( 0.1 + 0.2 == 0.3);
//false//0.1转为二进制
0.1 =0.0 0011 0011 0011 0011...(0011无限循环)
//0.2转为二进制
0.0011 0011 0011 0011 0011...(0011无限循环)
//转为二进制时,0.1和0.2的数字实际上是无限循环的.var d = 0.1 + 0.2;
console.log(d.toString(2));
console.log(d);
//0.0100110011001100110011001100110011001100110011001101(默认54位)
//0.30000000000000004解决方法