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;
    }
  • 相关阅读:
    ubuntu的php7与apache2的环境搭建
    git服务器搭建post-receive 钩子部署服务端代码
    node redis安装与使用
    微信小程序坑集
    微信小程序登录
    mobx react
    react-native-router-flux 下部导航
    java
    java
    java
  • 原文地址:https://www.cnblogs.com/yangjiming/p/10610796.html
Copyright © 2011-2022 走看看