2024 年日本 PHP 研討會

簡介

對於任意精度數學,PHP 提供了 BCMath,它支援任何大小和精度(最高達 2147483647 (或 0x7FFFFFFF)個十進位數字,如果記憶體足夠的話)的數字,以字串表示。

有效的(也就是格式正確的)BCMath 數字是符合正規表示式 /^[+-]?[0-9]*(\.[0-9]*)?$/ 的字串。

注意

由於 PHP 將 浮點數 值轉換為 字串 的方式,將 浮點數 類型的值傳遞給需要 字串 作為運算元的 BCMath 函式可能無法達到預期效果,也就是說,字串 可能採用科學記數法(BCMath 不支援),而且在 PHP 8.0.0 之前,小數點符號取決於地區設定(而 BCMath 永遠需要小數點)。

<?php
$num1
= 0; // (string) 0 => '0'
$num2 = -0.000005; // (string) -0.000005 => '-5.05E-6'
echo bcadd($num1, $num2, 6); // => '0.000000'

setlocale(LC_NUMERIC, 'de_DE'); // 使用小數點逗號
$num2 = 1.2; // (string) 1.2 => '1,2'
echo bcsub($num1, $num2, 1); // => '0.0'
?>
新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top