PHP – 如何使用 bcmod() 函数获取任意精度数的模数?
phpserver side programmingprogramming更新于 2025/7/22 16:07:17
在 PHP 中,bcmod() 数学函数用于计算任意精度数的模数。bcmod() 函数将任意精度数作为字符串输入,并将结果缩放到指定精度后,以模数形式返回。或者,我们可以说,它得到的是 string_num1 除以 string_num2 后的余数。除非 string_num2 为 0,否则结果与 string_num1 符号相同。
语法
bcmod(string_$num1, string_$num2, [, int $scale=0])
或者,
bcmod(string $dividend, string $divisor[, int $scale=0])
注意− 上述语法将获取 $string_num1 除以 $string_num2 的余数。除非 string_num2 为 0,否则结果的符号与 string_num1 相同。
参数
bcmod() 函数接受两个不同的参数:$dividend 和 $modulus。
$dividend− 表示除以给定模值 $modulus 的被除数,它是一个字符串类型参数。
$modulus− 它是一个字符串类型参数,用于表示模数。
返回值
bcmod() 函数返回被除数除以给定模值 $modulus 后的余数。模数。如果模数为 0,则函数返回 null。
示例 1 - 不使用比例参数的 PHP 函数 bcmod()。
<?php // 输入任意精度的数字 $dividend = "25.666"; $modulus = "7"; // 计算模数 $result = bcmod($dividend, $modulus); echo "不使用比例值的输出:", $result; ?>
输出
不使用比例值的输出:4
示例 2 - 使用比例参数的 PHP 函数 bcmod()
现在,我们将使用比例值为 4 的相同输入值并检查输出。
<?php // 输入任意精度的数字 $dividend = "25.666"; $modulus = "7"; // 使用比例值 4 $scaleVal =4; // 计算模数 $result = bcmod($dividend, $modulus, $scaleVal); echo "带缩放值的输出:", $result; ?>
输出
带缩放值的输出:4.6660
示例 3
<?php
bcscale(1);
// 自 PHP 7.2.0 起为 0.5;之前为 0
echo bcmod('5.7', '1.3');
?>
输出
0.5
注意− scale 参数是从 PHP 7.2.0 版本开始添加的。

