bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod任意精度数値の商と剰余を取得する

説明

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

num1num2 で割った商と剰余を取得します。

パラメータ

num1

被除数を表す文字列。

num2

割る数を表す文字列。

scale
結果の小数点以下の桁数を指定します。null の場合は、 bcscale() 関数でグローバルに 設定した桁数をデフォルトとして使用します。 それも設定されていない場合は bcmath.scale INI ディレクティブの値を使用します。

戻り値

1つ目の要素に商の値を表す string が、2つ目の要素に剰余の値を表す string が格納された配列を返します。

エラー / 例外

この関数は、以下の場合に ValueError をスローします:

  • num1 もしくは num1 が、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() - 2つの任意精度数値で除算を行う
  • bcmod() - 2 つの任意精度数値の剰余を取得する
  • BcMath\Number::divmod() - 任意精度数値の商と剰余を取得する
add a note

User Contributed Notes

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