欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

總結(jié)PHP中數(shù)值計算的注意事項

 更新時間:2016年08月14日 16:38:16   投稿:daisy  
本文將對PHP中數(shù)據(jù)計算的一些犯錯的點進行整理,并給出解決方法,其中包括四舍五入、整數(shù)和小數(shù)相乘除和浮點數(shù)的怪異,有需要的朋友們可以參考借鑒。

一:四舍五入

1.round — 對浮點數(shù)進行四舍五入

float round ( float $val [, int $precision ] )

2:floor — 舍去法取整(向下取整)

float floor ( float $value )

3.ceil — 進一法取整(向上取整)

float ceil ( float $value )

坑點: 當數(shù)值為整數(shù)的時候 例如 11 那么floor(11) = 10  , ceil (11) =  12; 問題顯而易見,所以計算的時候要格外注意這一點

解決方法 : floor(11 + 0.01);

二:整數(shù)和小數(shù)相乘除

坑點:3.5 * 100 = 300 ,就算你數(shù)學再好也沒用,在php世界里這就是真理,如果用php的+-*/計算浮點數(shù)的時候,可能會遇到一些計算結(jié)果錯誤的問題,比如echo intval( 0.58*100 );會打印57,而不是58,這個其實是計算機底層二進制無法精確表示浮點數(shù)的一個bug,是跨語言的,我用python也遇到這個問題。所以基本上大部分語言都提供了精準計算的類庫或函數(shù)庫,比如php有BC高精確度函數(shù)庫

解決方法:就是將整型變成浮點型 3.5 * (float)100 = 350

三:浮點數(shù)的怪異

坑點:8.50 – 8 = 0.500000001  其實原因和2差不多

解決方法:將結(jié)果進行round(),提高精度即可

總結(jié)

以上就是PHP數(shù)據(jù)計算的注意事項的全部內(nèi)容,希望本文的內(nèi)容在大家在PHP中進行數(shù)據(jù)計算的時候能有所幫助。

相關(guān)文章

最新評論