PHP – 如何使用 bccomp() 函数比较两个任意精度的数字?
phpserver side programmingprogramming更新于 2025/7/22 15:37:17
在 PHP 中,bccomp() 函数用于比较两个任意数字。bccomp() 函数将两个任意精度的数字作为字符串,并在比较两个数字后返回一个整数。
语法
int bccomp($left_string1, $right_string1, $scaleval)
参数
bccomp() 函数接受三个不同的参数: $left_string1、$right_string2 和 $scaleval。
$left_string1− 它表示我们要进行比较的两个给定数字之一的左操作数,它是一个字符串类型参数。
$right_string2− 它表示我们要进行比较的两个给定数字之一的右操作数,它是一个字符串类型参数。
$scaleval− 它返回比较中将使用的小数点后位数。它是一个整数类型参数,默认值为零。
返回值
bccomp() 函数返回一个整数两个数字 $left_string1 和 $right_string2 的比较结果。
如果 $left_string1 数字大于 $right_string2 数字,则返回 1。
如果 $left_string1 数字小于 $right_string2 数字,则返回 -1。
如果两个给定的数字相等,则 bccomp() 函数返回 0。
示例 1− 使用相等参数的 PHP bccomp() 函数
<?php // 输入两个数字 $left_string1 = "3.12"; $right_string2 = "3"; // 计算两个数字的比较结果 // 不带标度值的数字 $result = bccomp($left_string1, $right_string2); // 使用相等参数 echo "结果为: ", $result; ?>
输出
结果为:0
上述程序返回 0,因为使用了相等的参数,但没有使用缩放值。
示例 2
<?php // 输入两个数字 $left_string1 = "30.12"; // 左边的值 > 右边的值 $right_string2 = "3"; // 使用缩放值 2 $scaleval = 2; // 计算两者的比较结果 //无比例值的数字 $result = bccomp($left_string1, $right_string2); //使用相等参数 echo "输出为:", $result; ?>
输出
输出为:1
返回 1,因为左侧值大于右侧值。
示例 3
<?php // 输入两个数字 $left_string1 = "30.12"; $right_string2 = &"35"; // 右侧值 > 左侧值 // 使用比例值 2 $scaleval = 2; // 计算两者的比较结果 // 不带比例值的数字 $result = bccomp($left_string1, $right_string2); // 使用相等参数 echo $result; ?>
输出
-1
返回 -1,因为右侧值大于左侧值。

