摘要:
首先写一个demo 重现问题,我使用的是一个js在线测试环境[打开]改写displaynum()函数function displaynum(){var num = 22.77;alert(num + 10);}点击Show按钮 结果显示32.769999999996 出现了N多小数.也并不是所有数字都会出现这种现象, 除了 22.99 2.777 , 好像这几个数字也没什么特殊.查了一些资料, 一是JS浮点数计算的bug, 另一个是和计算机最终转换成二进制计算有关系, 但是为什么不是所有小数都会有这种现象, 目前我也不清楚, 有时间再去深入研究一下。现在有两种解决方法, 第一种就是利用JS . 阅读全文