// 调用:accAdd(arg1,arg2)
// 返回值:arg1加上arg2的精确结果

export function accAdd(arg1, arg2) {
  if (arg1 !== undefined && arg2 !== undefined) {
    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 = Math.pow(10, Math.max(r1, r2));
    return (arg1 * m + arg2 * m) / m;
  }
}

 
// 调用:accSub(arg1,arg2)
// 返回值:arg1减上arg2的精确结果

export function accSub(arg1, arg2) {
  return accAdd(arg1, -arg2);
}

 
// 调用:accMul(arg1,arg2)
// 返回值:arg1乘以arg2的精确结果

export function accMul(arg1, arg2) {
  if (arg1 !== undefined && arg2 !== undefined) {
    var m = 0;
    var s1 = arg1.toString();
    var s2 = arg2.toString();
    try {
      m += s1.split('.')[1].length;
    } catch (e) {}
    try {
      m += s2.split('.')[1].length;
    } catch (e) {}
    return (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m);
  }
}

 
// 调用:accDiv(arg1,arg2)
// 返回值:arg1除以arg2的精确结果

export function accDiv(arg1, arg2) {
  if (arg1 !== undefined && arg2 !== undefined) {
    var t1, t2, r1, r2;
    try {
      t1 = arg1.toString().split('.')[1].length;
    } catch (e) {
      t1 = 0;
    }
    try {
      t2 = arg2.toString().split('.')[1].length;
    } catch (e) {
      t2 = 0;
    }
    r1 = Number(arg1.toString().replace('.', ''));
    r2 = Number(arg2.toString().replace('.', ''));
    return accMul(r1 / r2, Math.pow(10, t2 - t1));
  }
}

任我行
19 声望2 粉丝