PHP Conference Japan 2024

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod获取任意精度数字的商和模

描述

bcdivmod(字符串 $num1, 字符串 $num2, ?整数 $scale = null): 字符串

获取num1除以num2的商和余数。

参数

num1

被除数,作为字符串。

num2

除数,作为字符串。

scale
此参数用于设置结果中小数点后的位数。如果为null,则默认为使用bcscale()设置的默认比例,或回退到bcmath.scale INI 指令的值。

返回值

返回一个索引数组,其中第一个元素是商,作为字符串,第二个元素是余数,作为字符串

错误/异常

此函数在以下情况下抛出ValueError异常

  • num1num2不是格式良好的 BCMath 数字字符串。
  • scale超出有效范围。

如果num20,则此函数抛出DivisionByZeroError异常。

示例

示例 #1 bcdivmod() 示例

<?php
bcscale
(0);

[
$quot, $rem] = bcdivmod('5', '3');
echo
$quot; // 1
echo $rem; // 2

[$quot, $rem] = bcdivmod('5', '-3');
echo
$quot; // -1
echo $rem; // 2

[$quot, $rem] = bcdivmod('-5', '3');
echo
$quot; // -1
echo $rem; // -2

[$quot, $rem] = bcdivmod('-5', '-3');
echo
$quot; // 1
echo $rem; // -2
?>

示例 #2 带小数的 bcdivmod()

<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo
$quot; // 4
echo $rem; // 0.5
?>

参见

  • bcdiv() - 除以两个任意精度数字
  • bcmod() - 获取任意精度数字的模
添加注释

用户贡献的注释

此页面尚无用户贡献的注释。
To Top