Skip to content

一 0.1+0.2的问题?

转成整数处理:

JS
function accAdd(arg1, arg2) {
  var r1, r2, m
  try {
    // 判断小数点后有几位
    r1 = arg1.toString().split('.')[1].length
  } catch (e) {
    r1 = 0
  }
  try {
    r2 = arg2.toString().split('.')[1].length
  } catch (e) {
    r2 = 0
  }
	// 生成基数 比如小数点后面有三位 m就是1000
  m = Math.pow(10, Math.max(r1, r2))
  return (arg1 * m + arg2 * m) / m
}

var result = accAdd(1.234, 5.678)
console.log(result) // 6.912