JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储。
所有的编程语言,包括 JavaScript,对浮点型数据的精确度都很难确定。
如下例子:
var x = 0.1;
var y = 0.2;
var z = x + y // z 的结果为 0.30000000000000004
if (z == 0.3) // 返回 false
所以为了解决这种问题,可以用以下方法:
var z = (x * 10 + y * 10) / 10; // z 的结果为 0.3
//注意:不能用写成这样:((x + y )*10) / 10
var z=Math.round((x+y)*10)/10;//Math.round()对一个数四舍五入。