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;
    }
  • 相关阅读:
    windows上设置代理
    docker 代理
    windbg随笔
    win10自带ssh server使用
    centos7 最小安装后,编译配置redsocks
    cef chromium 编译
    C++中的单例模式
    delete NULL
    音视频通讯能力提供商
    云视频会议解决方案
  • 原文地址:https://www.cnblogs.com/yangjiming/p/10610796.html
Copyright © 2011-2022 走看看