zoukankan      html  css  js  c++  java
  • php数字操作,高精度函数,保留计算结果小数位

    $l = 45456.51;
    $r = 455778.44;
    $e = '100.00';
    $f= '500.00';
    $res = bcadd($l, $r,3);//小数点后的位数,精度就是由这个参与决定的
    $res1 = bcadd((string)$l,(string)$r,3);//小数点后的位数,精度就是由这个参与决定的
    
    
    var_dump($res);
    echo '<br>';
    
     
    
    //如果两个数相等返回0, 左边的数left_operand比较右边的数right_operand大返回1, 否则返回-1.
    echo bccomp($l, $r);
    echo '<br>';
    
    //返回字符串类型取模后结果,如果系数为0则返回null
    echo bcdiv($l, $r,5);
    echo '<br>';
    
    
    //将二个高精确度数字相除。
    echo bcmod('4', '2'); 
    echo '<br>';
    
    
    //将二个高精确度数字相乘。
    echo bcmul($l, $r,5);
    echo '<br>';
    
     
    
    //此函数求一高精确度数字 x 的 y 次方。
    echo bcpow('2', '6',5);
    echo '<br>';
    
    
    //设置所有bc数学函数的默认小数点保留位数.相当于全局提前设置,之后程序若无特别指定,则依此配置的小数点位数。
    echo bcscale(10);
    echo bcdiv('105', '6.55957');
    echo '<br>';
    echo bcdiv('105', '6.55957',3);
    echo '<br>';
    
    //此函数求一高精确度数字开平方根值
    echo bcsqrt('5',5);
    echo '<br>';
    
     
    
    //此函数将二个高精确度的数字相减,传入二个字符串,以左边的 (left operand) 减去右边的 (right operand) 值
    echo bcsub($l, $r,5);
    echo '<br>';
    
     
    
    //其他函数,这个函数也可以,这个函数也很方便
    echo number_format($l*$r,5);
    echo '<br>';
    
    //这个函数有个缺点,就是千分位是逗号,需要自己变动参数
    echo number_format("1000000",2,",",".");第三个参数是","第四个是"."可以设置


    //其他函数 //获取环境变量 echo getenv('REMOTE_ADDR'); //设置环境变量 //putenv(); //PHP Math 函数 //数的绝对值 $abs = abs(-4.2); // $abs = 4.2; (double/float) $abs2 = abs(5); // $abs2 = 5; (integer) //函数把二进制转换为十进制。 echo bindec("11000110011"); echo '<br>'; $oct = "364"; echo $hex = base_convert($oct,8,16); echo '<br>'; //返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。 //和我们一般意义上的四舍五入不一样 echo ceil(0.60); echo '<br>'; echo ceil(0.40); echo '<br>'; echo ceil(5); echo '<br>'; echo ceil(5.1); echo '<br>'; echo ceil(-5.1); echo '<br>'; echo ceil(-5.9); //返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。 echo(floor(0.60)); echo '<br>'; echo(floor(0.40)); echo '<br>'; echo(floor(5)); echo '<br>'; echo(floor(5.1)); echo '<br>'; echo(floor(-5.1)); echo '<br>'; echo(floor(-5.9)); echo '<br>'; //返回被除数(x)除以除数(y)所得的浮点数余数。 echo fmod(10,3); echo '<br>'; //返回调用 rand() 可能返回的最大值。 echo rand(); echo '<br>'; echo getrandmax(); echo '<br>'; //4.1被抛弃 echo mt_srand(mktime()); echo '<br>'; //播下随机数发生器种子 echo srand(); echo '<br>'; echo mktime(); echo '<br>'; //四舍五入函数 echo(round(0.50)); echo '<br>'; echo(round(0.49)); //随机10-1000内的书 echo(rand(10,100)); echo '<br>'; //返回 x 的 y 次方。 echo pow(-6,2); echo '<br>'; //圆周率 echo pi(); echo '<br>'; //返回数组里面最大值和最小值 ///PHP 会将非数值的 string 当成 0,但如果这个正是最小的数值则仍然会返回一个字符串。如果多个参数都求值为 0 //且是最小值,min() 会返回按字母表顺序最小的字符串,如果其中没有字符串的话,则返回数值的 0。 echo(max(7.25,7.30)); echo '<br>'; echo(min(7.25,7.30)); echo '<br>'; echo max('aaa','abc');
  • 相关阅读:
    面试总结
    CentOS 6.4 yum安装LAMP环境
    windows下XAMPP安装php_memcache扩展
    linux学习笔记
    本地虚拟机LNMP环境安装
    Linux下php安装memcache扩展
    linux下memcached安装以及启动
    阿里云服务器---centos编译安装ffmpeg
    [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/zx-admin/p/4765542.html
Copyright © 2011-2022 走看看