zoukankan      html  css  js  c++  java
  • php BC高精确度函数库

    <?php  


     ***************************************************************************************
     *php BC高精确度函数库
     *php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方
     *这些函数在涉及到有关金钱的计算时比较有用
     ****************************************************************************************
    bcadd($a, $b, 2);  相加
    bcsub($a, $b, 2); 相减
    bcdiv($a,$b,2);相除
    bcmul($a,$b,2);相乘


     ***************************************************************************************
     *两个高精度数比较
     *工作中遇到一种情况,0.00 != 0
     *int bccomp ( string $left_operand , string $right_operand [, int $scale ] )
     *$left=$right 返回 0
     *$left<$right 返回 -1
     *$left>$right 返回 1
     *$scale 小数点位数
     ***************************************************************************************
    $a = 4.45;
    $b = 5.54;
    if(bccomp($a, $b, 2) == 0)
    {
        
    }

     ***************************************************************************************
     *两个高精度数相加
     *string bcadd ( string $left_operand , string $right_operand [, int $scale ] )
     *$scale 返回的小数点个数
     ***************************************************************************************
    $a = 1.0321456;
    $b = 0.0123456;
    $c = bcadd($a, $b, 2);
    //var_dump($c);

     ***************************************************************************************
     *两个高精度数相减
     *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] )
     *$scale 返回的小数点个数
     ***************************************************************************************
    $a = 1.0321456;
    $b = 3.0123456;
    $c = bcsub($a, $b, 2);
    var_dump($c);



     ********************************************************
     *两个高精度数求余/取模
     *string bcmod ( string $left_operand , string $modulus )
      *******************************************************
    $a = 6;
    $b = 4;
    $c = bcmod($a, $b);

    //var_dump($c);

     ***************************************************************************************
     *两个高精度数相除
     *string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )
     *$scale小数点位数默认为 0
     ***************************************************************************************
     $a = 6;
     $b = 5;
     $c = bcdiv($a, $b, 3);
     //var_dump($c);

     ***************************************************************************************
     *两个高精度数相乘
     *string bcmul ( string $left_operand , string $right_operand [, int $scale ] )
     *$scale小数点位数默认为 0
     ***************************************************************************************
    $a = 3.1415926;
    $b = 2.4569874566;
    $c = bcmul($a, $b, 6);
    //var_dump($c);

     ***************************************************************************************
     *两个高精度数的次方值
     *string bcpow ( string $left_operand , string $right_operand [, int $scale ] )
     *$scale小数点位数默认为 0
     ***************************************************************************************
    $a = 3.1415926;
    $b = 2;
    $c = bcpow($a, $b, 3);
    //var_dump($c);

     **************************************************
     *求高精度数的平方根
     *string bcsqrt ( string $operand [, int $scale ] )
     *$scale小数点位数默认为 0
     ***************************************************
    $b = bcsqrt($a, 6);
    //var_dump($b);

     ******************************
     *设置bc函数的小数点位数
     *bool bcscale ( int $scale )
     *$scale小数点位数默认为 0
     ******************************
    //bcscale();
    ?>
  • 相关阅读:
    Qt之自定义托盘(二)
    使用react-navigation提示undefind is not a function
    vue使用mockjs配置步骤(无需启动node服务)
    input框type=file设置cursor:pointer的问题
    umi中使用scss
    umi怎么去添加配置式路由
    Rem自适应js
    解决在antd中使用 autoprefixer 9.4.5 会抛出错误 Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed 的问题
    file类型input框设置上传相同文件,并都可以触发change事件。
    浅谈JavaScript对象数组根据某属性sort升降序排序
  • 原文地址:https://www.cnblogs.com/keta/p/6369598.html
Copyright © 2011-2022 走看看