zoukankan      html  css  js  c++  java
  • JQ加减乘除运算

    jq下进行加减乘法运算:

    //加法运算
    function add(a, b) {
        var c, d, e;
        try {
            c = a.toString().split(".")[1].length;
        } catch (f) {
            c = 0;
        }
        try {
            d = b.toString().split(".")[1].length;
        } catch (f) {
            d = 0;
        }
        return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
    }
     
    //减法运算
    function sub(a, b) {
        var c, d, e;
        try {
            c = a.toString().split(".")[1].length;
        } catch (f) {
            c = 0;
        }
        try {
            d = b.toString().split(".")[1].length;
        } catch (f) {
            d = 0;
        }
        return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
    }
    //乘法运算
    function mul(a, b) {
        var c = 0,
            d = a.toString(),
            e = b.toString();
        try {
            c += d.split(".")[1].length;
        } catch (f) {}
        try {
            c += e.split(".")[1].length;
        } catch (f) {}
        return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
    }
    //除法运算
    function p(a, b) {
        var c, d, e = 0,
            f = 0;
        try {
            e = a.toString().split(".")[1].length;
        } catch (g) {}
        try {
            f = b.toString().split(".")[1].length;
        } catch (g) {}
        return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
    }
    
    //四舍五入保留两位小数(v的值是几保留几位小数)
    function decimal(num,v){
        var vv = Math.pow(10,v);
        return Math.round(num*vv)/vv;
    }

    php下进行乘法运算

    /**
    * 两个高精度数比较
    * 
    * @access global
    * @param float $left
    * @param float $right
    * @param int $scale 精确到的小数点位数
    * 
    * @return int $left==$right 返回 0 | $left<$right 返回 -1 | $left>$right 返回 1
    */
    var_dump(bccomp($left=4.45, $right=5.54, 2));
    // -1
    
    /**
    * 两个高精度数相加
    * 
    * @access global
    * @param float $left
    * @param float $right
    * @param int $scale 精确到的小数点位数
    * 
    * @return string 
    */
    var_dump(bcadd($left=1.0321456, $right=0.0243456, 2));
    //1.04
    
    /**
    * 两个高精度数相减
    * 
    * @access global
    * @param float $left
    * @param float $right
    * @param int $scale 精确到的小数点位数
    * 
    * @return string 
    */
    var_dump(bcsub($left=1.0321456, $right=3.0123456, 2));
    //-1.98
    
    /**
    * 两个高精度数相除
    * 
    * @access global
    * @param float $left
    * @param float $right
    * @param int $scale 精确到的小数点位数
    * 
    * @return string 
    */
    var_dump(bcdiv($left=6, $right=5, 2));
    //1.20
    
    /**
    * 两个高精度数相乘
    * 
    * @access global
    * @param float $left
    * @param float $right
    * @param int $scale 精确到的小数点位数
    * 
    * @return string 
    */
    var_dump(bcmul($left=3.1415926, $right=2.4569874566, 2));
    //7.71
    
    /**
    * 设置bc函数的小数点位数
    * 
    * @access global
    * @param int $scale 精确到的小数点位数
    * 
    * @return void 
    */ 
    bcscale(3);
    var_dump(bcdiv('105', '6.55957')); 
    // 16.007
    
     
    不断的修改不断的完善
  • 相关阅读:
    超级变态之access查询
    计算机安全病毒问题汇集(转自华军)
    Avast I Love You
    Windows2003 3389端口修改
    希捷 250G 7200.10 8M(串口/5年盒)(买硬盘了~~~)
    DataTable 中Remove方法的使用
    我的主板(p5pl2e)
    冼东妹(为奥运冠军名字作诗)
    李彦宏告诫年轻人:向前看两年
    郭文珺(为奥运冠军名字作诗)
  • 原文地址:https://www.cnblogs.com/lhwhqy/p/7459500.html
Copyright © 2011-2022 走看看