zoukankan      html  css  js  c++  java
  • php 数学函数bc的使用(浮点数计算)

    简介:

    对于任意精度的数学,PHP提供了支持用字符串表示的任意大小和精度的数字的二进制计算,最多为2147483647-1(或0x7FFFFFFF-1)。

    • bcadd — 2个任意精度数字的加法计算
    • bccomp — 比较两个任意精度的数字
    • bcdiv — 2个任意精度的数字除法计算
    • bcmod — 对一个任意精度数字取模
    • bcmul — 2个任意精度数字乘法计算
    • bcpow — 任意精度数字的乘方
    • bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
    • bcscale — 设置所有bc数学函数的默认小数点保留位数
    • bcsqrt — 任意精度数字的二次方根
    • bcsub — 2个任意精度数字的减法

    1、两个高精度浮点数相加(bcadd)

     /**
      * 两个高精度数相加
      * @access global
      * @param float $left
      * @param float $right
      * @param int $scale 精确到的小数点位数
      * @return string 
      */

    var_dump(bcadd($left=1.0321456, $right=0.0243456, 2)); //1.05

    2、两个高精度浮点数相减(bcsub)

      /**
      * 两个高精度数相减
      * @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

    3、两个高精度浮点数相乘(bcmul)

     /**
      * 两个高精度数相乘
      * @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

    4、两个高精度浮点数相除(bcdiv)

     /**
      * 两个高精度数相除
      * @access global
      * @param float $left
      * @param float $right
      * @param int $scale 精确到的小数点位数
      * @return string 
      */
    
    var_dump(bcdiv($left=6, $right=5, 2));
    //1.20
  • 相关阅读:
    八大排序
    链表的合并
    记录B站yxc的背包九讲相关代码
    C++中多态实现
    YOLOV4所用到的一些tricks
    C++中的string 和 stringstream 的知识
    博客园中插入视频
    博客园中插入网页
    面试前必须要知道的【可重入锁 自旋锁】
    面试前必须要知道的【乐观锁 悲观锁】
  • 原文地址:https://www.cnblogs.com/starfish29/p/11492742.html
Copyright © 2011-2022 走看看