PHP 日本會議 2024

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod取得任意精度數字的商和餘數

描述

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

取得將 num1 除以 num2 的商和餘數。

參數

num1

被除數,作為字串。

num2

除數,作為字串。

scale
此參數用於設定結果中小數位數後的位數。如果為 null,則預設為使用 bcscale() 設定的預設 scale,或回退到 bcmath.scale INI 指令的值。

回傳值

回傳一個索引 array,其中第一個元素是作為 string 的商,第二個元素是作為 string 的餘數。

錯誤/例外

在以下情況下,此函式會拋出 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