javascript避免数字计算精度误差的方法

来源:互联网 发布:java观察者模式实例 编辑:程序博客网 时间:2024/06/07 00:08

如果我问你 0.1 + 0.2 等于几?

不信?我们先来看一段 JS。

var numA = 0.1; 
var numB = 0.2; 
alert( (numA + numB) === 0.3 );

执行结果是 false。


解决方法:

Math.formatFloat = function(f, digit) { 
    var m = Math.pow(10, digit); 
    return parseInt(f * m, 10) / m; 


var numA = 0.1; 
var numB = 0.2;

alert(Math.formatFloat(numA + numB, 1) === 0.3);