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 版本开始添加的。


相关文章