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();
    ?>
  • 相关阅读:
    黄聪:数据库基础
    黄聪:(C#)利用反射动态调用类成员[转载]
    黄聪:SQL 2005 全文索引
    黄聪:自动化测试的7个步骤
    黄聪:队列Queue笔记
    黄聪:VMware三种网络连接方式的概念
    Nginx 模块细节详探
    munin因为plugin而亮
    Zookeeper简介
    Munin进阶使用
  • 原文地址:https://www.cnblogs.com/keta/p/6369598.html
Copyright © 2011-2022 走看看