PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装

本文介绍了PHP中的BCMath函数及其用法,包括加、减、乘、除和取模等操作,并提到在遇到函数报错时,由于缺少bcmath扩展,作者指导如何通过yum命令在PHP7.2环境下安装该扩展并重启服务器以确保功能正常。
摘要由CSDN通过智能技术生成

时间:2020-03-24 17:18:03

<?php

/**

 * 精确加法

 * @param [type] $a [description]

 * @param [type] $b [description]

 */

function math_add($a,$b,$scale '2') {

    return bcadd($a,$b,$scale);

}

/**

 * 精确减法

 * @param [type] $a [description]

 * @param [type] $b [description]

 */

function math_sub($a,$b,$scale '2') {

    return bcsub($a,$b,$scale);

}

/**

 * 精确乘法

 * @param [type] $a [description]

 * @param [type] $b [description]

 */

function math_mul($a,$b,$scale '2') {

    return bcmul($a,$b,$scale);

}

/**

 * 精确除法

 * @param [type] $a [description]

 * @param [type] $b [description]

 */

function math_div($a,$b,$scale '2') {

    return bcdiv($a,$b,$scale);

}

/**

 * 精确求余/取模

 * @param [type] $a [description]

 * @param [type] $b [description]

 */

function math_mod($a,$b) {

    return bcmod($a,$b);

}

/**

 * 比较大小

 * @param [type] $a [description]

 * @param [type] $b [description]

 * 大于 返回 1 等于返回 0 小于返回 -1

 */

function math_comp($a,$b,$scale '5') {

    return bccomp($a,$b,$scale); // 比较到小数点位数

}

echo math_add('3.445','3.444')."\n"// 加 6.88

echo math_sub('3.445','3.444')."\n"// 减 0.00

echo math_mul('3.445','3.444')."\n"// 乘 11.86

echo math_div('3.445','3.444')."\n"// 除 1.00

echo math_mod('3.445','3.444')."\n"// 取模 0

echo math_comp('3.445','3.444')."\n";// 比较 1

echo math_add('3.445','3.444','3')."\n"// 加 6.889

echo math_sub('3.445','3.444','3')."\n"// 减 0.001

echo math_mul('3.445','3.444','3')."\n"// 乘 11.864

echo math_div('3.445','3.444','3')."\n"// 除 1.000

echo math_mod('3.445','3.444')."\n"// 取模 0

echo math_comp('3.445','3.444')."\n";// 比较 1

?>

今天正好要用到bcadd()函数,结果报错,百度下原因是没有安装bcmath扩展。

那就安装呗,搜了一下,我是yum安装的php7.2,扩展也可以yum来安装

1

2

3

4

5

6

7

1.键入命令 (72W就是php版本,不加有一定的几率报错)

yum install php72w-bcmath

回车;

2.ok,安装完毕,重启服务器 Nginx 或者 Apache

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值