php數字操作,高精度函數,保留計算結果小數位


$l = 45456.51;
$r = 455778.44;
$e = '100.00';
$f= '500.00';
$res = bcadd($l, $r,3);//小數點后的位數,精度就是由這個參與決定的
$res1 = bcadd((string)$l,(string)$r,3);//小數點后的位數,精度就是由這個參與決定的


var_dump($res);
echo '<br>';

 

//如果兩個數相等返回0, 左邊的數left_operand比較右邊的數right_operand大返回1, 否則返回-1.
echo bccomp($l, $r);
echo '<br>';

//返回字符串類型取模后結果,如果系數為0則返回null
echo bcdiv($l, $r,5);
echo '<br>';


//將二個高精確度數字相除。
echo bcmod('4', '2'); 
echo '<br>';


//將二個高精確度數字相乘。
echo bcmul($l, $r,5);
echo '<br>';

 

//此函數求一高精確度數字 x 的 y 次方。
echo bcpow('2', '6',5);
echo '<br>';


//設置所有bc數學函數的默認小數點保留位數.相當於全局提前設置,之后程序若無特別指定,則依此配置的小數點位數。
echo bcscale(10);
echo bcdiv('105', '6.55957');
echo '<br>';
echo bcdiv('105', '6.55957',3);
echo '<br>';

//此函數求一高精確度數字開平方根值
echo bcsqrt('5',5);
echo '<br>';

 

//此函數將二個高精確度的數字相減,傳入二個字符串,以左邊的 (left operand) 減去右邊的 (right operand) 值
echo bcsub($l, $r,5);
echo '<br>';

 

//其他函數,這個函數也可以,這個函數也很方便
echo number_format($l*$r,5);
echo '<br>';

//這個函數有個缺點,就是千分位是逗號,需要自己變動參數
echo number_format("1000000",2,",",".");第三個參數是","第四個是"."可以設置


//其他函數 //獲取環境變量 echo getenv('REMOTE_ADDR'); //設置環境變量 //putenv(); //PHP Math 函數 //數的絕對值 $abs = abs(-4.2); // $abs = 4.2; (double/float) $abs2 = abs(5); // $abs2 = 5; (integer) //函數把二進制轉換為十進制。 echo bindec("11000110011"); echo '<br>'; $oct = "364"; echo $hex = base_convert($oct,8,16); echo '<br>'; //返回不小於 x 的下一個整數,x 如果有小數部分則進一位。ceil() 返回的類型仍然是 float,因為 float 值的范圍通常比 integer 要大。 //和我們一般意義上的四舍五入不一樣 echo ceil(0.60); echo '<br>'; echo ceil(0.40); echo '<br>'; echo ceil(5); echo '<br>'; echo ceil(5.1); echo '<br>'; echo ceil(-5.1); echo '<br>'; echo ceil(-5.9); //返回不大於 x 的下一個整數,將 x 的小數部分舍去取整。 echo(floor(0.60)); echo '<br>'; echo(floor(0.40)); echo '<br>'; echo(floor(5)); echo '<br>'; echo(floor(5.1)); echo '<br>'; echo(floor(-5.1)); echo '<br>'; echo(floor(-5.9)); echo '<br>'; //返回被除數(x)除以除數(y)所得的浮點數余數。 echo fmod(10,3); echo '<br>'; //返回調用 rand() 可能返回的最大值。 echo rand(); echo '<br>'; echo getrandmax(); echo '<br>'; //4.1被拋棄 echo mt_srand(mktime()); echo '<br>'; //播下隨機數發生器種子 echo srand(); echo '<br>'; echo mktime(); echo '<br>'; //四舍五入函數 echo(round(0.50)); echo '<br>'; echo(round(0.49)); //隨機10-1000內的書 echo(rand(10,100)); echo '<br>'; //返回 x 的 y 次方。 echo pow(-6,2); echo '<br>'; //圓周率 echo pi(); echo '<br>'; //返回數組里面最大值和最小值 ///PHP 會將非數值的 string 當成 0,但如果這個正是最小的數值則仍然會返回一個字符串。如果多個參數都求值為 0 //且是最小值,min() 會返回按字母表順序最小的字符串,如果其中沒有字符串的話,則返回數值的 0。 echo(max(7.25,7.30)); echo '<br>'; echo(min(7.25,7.30)); echo '<br>'; echo max('aaa','abc');

 


免責聲明!

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



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