Php: BCMath
bc是Binary Calculator的縮寫。bc*函數的參數都是操作數加上一個可選的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale沒有提供,就用bcscale的缺省值。這裡大數直接用一個由0-9組成的string表示,計算結果返回的也是一個 string。
bcadd — 將兩個高精度數字相加
bccomp — 比較兩個高精度數字,返回-1, 0, 1
bcdiv — 將兩個高精度數字相除
bcmod — 求高精度數字余數
bcmul — 將兩個高精度數字相乘
bcpow — 求高精度數字乘方
bcpowmod — 求高精度數字乘方求模,數論裡非常常用
bcscale — 配置默認小數點位數,相當於就是Linux bc中的”scale=”
bcsqrt — 求高精度數字平方根
bcsub — 將兩個高精度數字相減
可以參考手冊去查這些函數的應用。
PHP code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*bcsub 函數說明
此函數將二個高精確度的數字相減,傳入二個字符串,以左邊的 (left operand) 減去右邊的 (right operand) 值。scale 是一個可有可無的選項,表示返回值的小數點後所需的位數。*/
//下面的代碼我是保證了小數點一位數字
$aa=bcsub(134.7,52.5,1);
echo $aa;//exit;
$bb=bcsub($aa,82.2,1);
echo $bb;//exit;
//樓主可以試試看