PHP 8.4.1 Released!

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

説明

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

Get the quotient and remainder of dividing num1 by num2.

パラメータ

num1
The dividend, as a string.
num2
The divisor, as a string.
scale

このオプションパラメータを使用して、結果の小数点以下の桁数を指定します。省略した場合は、bcscale() 関数でグローバルに設定した桁数をデフォルトとして使用します。それも設定されていない場合は 0 を使用します。

戻り値

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

エラー / 例外

This function throws a ValueError in the following cases:

  • num1 or num2 is not a well-formed BCMath numeric string
  • scale is outside the valid range

This function throws a DivisionByZeroError exception if num2 is 0.

例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
?>

参考

  • bcdiv() - 2つの任意精度数値で除算を行う
  • bcmod() - 2 つの任意精度数値の剰余を取得する
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top