zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    PS转换图片——我教你
    通过Ajax——异步获取相关问题解答
    Spring的线程安全
    Spring MVC的工作机制
    Annotation的语法和使用
    Spring Bean的生命周期
    浅谈Spring
    Spring的事务管理
    行为型模式
    结构型模式
  • 原文地址:https://www.cnblogs.com/yangjiming/p/10610796.html
Copyright © 2011-2022 走看看