form1.cn
Make a little progress every day

php中用bccomp比较两个任意精度的数字

20th of April 2018 PHP PHPcode 6021

语法:

int bccomp ( string $left_operand , string $right_operand [, int $scale = int ] )


说明:
把right_operand和left_operand作比较, 并且返回一个整数的结果.

参数:
left_operand:左边的运算数, 是一个字符串.
right_operand:右边的运算数, 是一个字符串.
scale:可选的scale参数被用作设置指示数字, 在使用来作比较的小数点部分.
【scale 是一个可有可无的选项,表示返回值的小数点后所需的位数。 如果是浮点数比较,这个选项就非常重要了,比较时,哪个浮点数小数点后面位数多就填几位.】


内容说明:

此函数比较二个高精确度的数字。输入二个字符串,若二个字符串一样大则返回 0;

若左边的数字字符串 (left operand) 比右边 (right operand) 的大则返回 +1;

若左边的数字字符串比右边的小则返回 -1。

例子:

$available = 12.87665012;
$amount = 12.8766501201;
if (bccomp($available, $amount, 10) == -1) {
    return ['code'=>101, 'msg'=>'余额不足'];
}