array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.bcdivmod.php', 1 => 'bcdivmod', 2 => 'Get the quotient and modulus of an arbitrary precision number', ), 'up' => array ( 0 => 'ref.bc.php', 1 => 'BC 数学 函数', ), 'prev' => array ( 0 => 'function.bcdiv.php', 1 => 'bcdiv', ), 'next' => array ( 0 => 'function.bcfloor.php', 1 => 'bcfloor', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/bc/functions/bcdivmod.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

说明

bcdivmod(string $num1, string $num2, ?int $scale = null): array

Get the quotient and remainder of dividing num1 by num2.

参数

num1

被除数,字符串类型。

num2

除数,字符串类型。

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

返回值

Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string.

错误/异常

此函数在下列情况下抛出 ValueError

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

示例

示例 #1 bcdivmod() example

<?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() with decimals

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

参见