美文网首页
JS精确计算

JS精确计算

作者: Mracale | 来源:发表于2020-08-26 14:41 被阅读0次
/**
 * 加法函数,用来得到精确的加法结果
 * @param {Object} arg1
 * @param {Object} arg2
 */
function accAdd(arg1, arg2) {
    var r1 = deal(arg1);
    var r2 = deal(arg2);
    var m = Math.pow(10, Math.max(r1, r2))
    return(arg1 * m + arg2 * m) / m
}

/**
 * 乘法函数,用来得到精确的乘法结果
 * @param {Object} arg1
 * @param {Object} arg2
 */
function accMul(arg1, arg2) {
    var m = 0;
    m += deal(arg1);
    m += deal(arg2);
    var r1 = Number(arg1.toString().replace(".", ""));
    var r2 = Number(arg2.toString().replace(".", ""));
    return(r1 * r2) / Math.pow(10, m)
}

/**
 * 除法函数,用来得到精确的除法结果
 * @param {Object} arg1
 * @param {Object} arg2
 */
function accDiv(arg1, arg2) {
    var t1 = deal(arg1);
    var t2 = deal(arg2);
    var r1 = Number(arg1.toString().replace(".", ""))
    var r2 = Number(arg2.toString().replace(".", ""))
    return(r1 / r2) * Math.pow(10, t2 - t1);
}
/**
 * 求小数点后的数据长度
 */
function deal(arg) {
    var t = 0;
    try {
        t = arg.toString().split(".")[1].length
    } catch(e) {}
    return t;
}

相关文章

  • JS精确计算

  • js计算年龄(精确至秒)

    ps:注意传入生日月份时要减1

  • 精确计算

    陈军每天晚上都喜欢去家附近的城中公园散散步。伴随着人到中年,陈军感觉到自己最近两年长胖了许多,特别是一个啤酒肚,许...

  • 用js计算年龄(精确到天)

    需求:需要实现 1岁2月3天这样的格式 方法: 此方法参考了: https://llyilo.iteye.com/...

  • 个人代码库-待更新

    JS 浮点数相加不精确解决 浮点数取两位小数 css 内计算 input 按钮美化(input 上传框美化实例)

  • Js 计算不精确的问题(使用math.js)

    最近在做一个小系统,里面包含了价格的运算,由于整个系统都是后台页面,所以第一时间的想法就是在后台运算,然后把结果返...

  • Java精确计算

    在java.math 的包中有3个class,在这我只举BigInteger的例子 BigDecimal 不可变的...

  • decimal精确计算

    关系型数据库mysql中,存储10.00这个值,若以float类型存储,是10.0,若以int类型存储,是1...

  • iOS精确计算

    直接上代码 源码复制 #pragma mark 精确计算+ (nsdecimalnumber *)computat...

  • js浮点数的加减乘除解决方案

    序言 一直知道js的浮点数计算是不精确的, 0.1 + 0.2 !== 0.3,但是也就知道而已,解决方法却不怎么...

网友评论

      本文标题:JS精确计算

      本文链接:https://www.haomeiwen.com/subject/saoxsktx.html