PHP 數字類型 加 減 乘 除運算 bc函數


BC 數學 函數

因為php 是弱類型語言,所以對類型檢測比較隨意,沒有嚴格的比較之類的,同時針對浮點型數據的運算會出現各種各樣的問題,有時候完全是自己意想不到的結果,

特別是針對金錢相關的數字的時候,更要謹慎,畢竟誰都不願意自己的金額或者公司賬戶少錢,對不上賬之類的,所以為了更好的對數字之間的計算,建議使用bc函數,

這樣不會出現意向不到的結果。

bcadd

任意兩個精度的加法

<?php $a = '1.234'; $b = '5'; echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340
?>

 

bcsub

兩個任意精度數字的減法

<?php $a = '1.234'; $b = '5'; echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

 

bcmul

兩個任意精度數字乘法計算

<?php echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

 

bcdiv

兩個任意精度的數字除法計算

<?php echo bcdiv('105', '6.55957', 3);  // 16.007

?>

 

bccomp

比較兩個任意精度的數字

<?php echo bccomp('1', '2');   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>

 

bcmod

任意精度數字取模

<?php bcscale(0); echo bcmod( '5',  '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5',  '3'); // -2
echo bcmod('-5', '-3'); // -2
?>

 

bcpow

任意精度數字的乘方

<?php echo bcpow('4.2', '3', 2); // 74.08

?>

 

bcscale

設置/獲取所有 bc math 函數的默認小數點保留位數

<?php // 默認小數點位數: 3
bcscale(3); echo bcdiv('105', '6.55957'); // 16.007 // 不調用 bcscale() 也一樣
echo bcdiv('105', '6.55957', 3); // 16.007

?>

 

bcsqrt

任意精度數字的二次方根

<?php echo bcsqrt('2', 3); // 1.414

?>

 

具體用法,參數要自己去百度一下

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM