預設保留兩位小數
bcadd(引數1,引數2,引數3)
引數1 和2 是要相加的引數 3是保留幾位小數。
bcadd任意精度數的相加
bcsub任意精度數的減法
bcmul乘法,bcdiv除法
bcmod取餘數。 (比%功能更強大)
bcpow冪函式運算
bcsqrt平方根
sqrt平方根運算
pow求冪
abs求絕對值
pi得到圓周率數值
sincostanasinacosatan(用弧度表達)
deg2rad角度轉換成弧度
rad2deg弧度轉換成角度
log求自然對數
log10求10位底的對數
exp以e為底的冪
base_convert通用的任意數制轉換
bindec二進位制轉換成十進位制
decbin十進位制轉換成二進位制
dechex十進位制轉換成十六進製制
decoct十進位制轉換成八進位制
hexdec十六進製制轉換成十進位制
octdec八進位制轉換成十進位制
四捨六入五考慮,五後非空就進一,五後為空看奇偶,五前為偶應捨去,五前為奇要進一。
保留兩位小數,例:
1.2849 = 1.28 -> 四捨
1.2866 = 1.29 -> 六入
1.2851 = 1.29 -> 五後非空就進一
1.2850 = 1.28 -> 五後為空看奇偶,五前為偶應捨去
1.2750 = 1.28 -> 五後為空看奇偶,五前為奇要進一
實現**如下:
echo
round
(1.2849,2
,php_round_half_even);
//輸出:1.28
echo
round
(1.2866,2
,php_round_half_even);
//輸出:1.29
echo
round
(1.2851,2
,php_round_half_even);
//輸出:1.29
echo
round
(1.2850,2
,php_round_half_even);
//輸出:1.28
echo
round
(1.2750,2
,php_round_half_even);
//輸出:1.28
官方手冊
應用於金額的展示,比如我們經常會看的銀行卡餘額。
echo
number_format
('10000.98',2
,'.'
,',');
//輸出:10,000.98
echo
number_format
('340888999',2
,'.'
,',');
//輸出:340,888,999.00
PHP算術及精度計算
一 高精度算術運算子 bcadd 將兩個高精度數字相加 bccomp 比較兩個高精度數字,返回 1,0,1 bcdiv 將兩個高精度數字相除 bcmod 求高精度數字餘數 bcmul 將兩個高精度數字相乘 bcpow 求高精度數字乘方 bcpowmod 求高精度數字乘方求模,數論裡非常常用 bcsc...
php高精度數計算
一 前方有坑 php在使用加減乘除等運算子計算浮點數的時候,經常會出現意想不到的結果,特別是關於財務資料方面的計算,給不少工程師惹了很多的麻煩。比如今天工作終於到的乙個案例 a 2586 b 2585.98 var dump a a a b 期望的結果是 float 0.02 實際結果 float ...
php高精度數值計算
bcadd 將兩個高精度數字相加 bccomp 比較兩個高精度數字,返回 1,0,1 bcdiv 將兩個高精度數字相除 bcmod 求高精度數字餘數 bcmul 將兩個高精度數字相乘 bcpow 求高精度數字乘方 bcpowmod 求高精度數字乘方求模,數論裡非常常用 bcscale 配置預設小數點...