• JS精确计算


    /**
     * 加法函数,用来得到精确的加法结果
     * @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;
    }
  • 相关阅读:
    简单四则运算实现--第二次作业
    人生第一篇博客
    团队任务1:第一次团队会议
    第二次作业
    自我介绍
    五号团队—团队任务4:每日立会(2018-11-27)
    软件设计与开发准备
    原型设计与UI设计
    第一次团队会议
    课后作业2
  • 原文地址:https://www.cnblogs.com/yangjiming/p/10610796.html
Copyright © 2020-2023  润新知