PHP – 如何使用 bcmod() 函式獲取任意精度數的模?
在 PHP 中,**bcmod()** 數學函式用於計算任意精度數的模。**bcmod()** 函式將任意精度數作為字串,並將結果作為數字的模,並將結果縮放至指定的精度。或者,我們可以說它獲取 **string_num1** 除以 **string_num2** 後的餘數。除非 **string_num2** 為 0,否則結果與 **string_num1** 具有相同的符號。
語法
bcmod(string_$num1, string_$num2, [, int $scale=0])
或者,
bcmod(string $dividend, string $divisor[, int $scale=0])
注意− 以上語法將獲取 **$string_num1** 除以 **$string_num2** 的餘數。除非 **string_num2** 為 0,否則結果與 **string_num1** 具有相同的符號。
引數
**bcmod()** 函式接受兩個不同的引數,**$dividend** 和 **$modulus**。
**$dividend−** 它表示被給定模數 $modulus 除的被除數,它是字串型別引數。
**$modulus−** 它是字串型別引數,用於表示模數。
返回值
**bcmod()** 函式返回被除數除以模數的餘數。如果模數為 0,則函式返回 null。
示例 1 - 不使用 scale 引數的 bcmod() PHP 函式。
<?php // input numbers with arbitrary precision $dividend = "25.666"; $modulus = "7"; // calculates the modulus $result = bcmod($dividend, $modulus); echo "Output without using scale value: ", $result; ?>
輸出
Output without using scale value: 4
示例 2 - 使用 scale 引數的 bcmod() PHP 函式
現在,我們將使用 scale 值為 4 的相同輸入值並檢查輸出。
<?php // input numbers with arbitrary precision $dividend = "25.666"; $modulus = "7"; //using scale value 4 $scaleVal =4; // calculates the modulus $result = bcmod($dividend, $modulus, $scaleVal); echo "Output with scale value: ", $result; ?>
輸出
Output with scale value: 4.6660
示例 3
<?php bcscale(1); // 0.5 as of PHP 7.2.0; 0 previously echo bcmod('5.7', '1.3'); ?>
輸出
0.5
注意− scale 引數從 PHP 7.2.0 版本開始新增。
廣告