对于保证浮点数计算的正确性,有两种常见方式

// 解释一下下面代码的输出

console.log(0.1 + 0.2); //0.30000000000000004
console.log(0.1 + 0.2 == 0.3); //false

 

// 对于保证浮点数计算的正确性,有两种常见方式。

// 一是先升幂再降幂:

function add(num1, num2){
  let r1, r2, m;
  r1 = (''+num1).split('.')[1].length;
  r2 = (''+num2).split('.')[1].length;

  m = Math.pow(10,Math.max(r1,r2));
  return (num1 * m + num2 * m) / m;
}
console.log(add(0.1,0.2));   //0.3
console.log(add(0.15,0.2256)); //0.3756

 

posted @ 2017-06-22 16:51  lanyan  阅读(458)  评论(1编辑  收藏  举报