国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

總結(jié)PHP中數(shù)值計(jì)算的注意事項(xiàng)

2024-05-04 23:49:13
字體:
供稿:網(wǎng)友

一:四舍五入

1.round — 對浮點(diǎn)數(shù)進(jìn)行四舍五入

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

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

float floor ( float $value )

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

float ceil ( float $value )

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

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

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

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

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

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

坑點(diǎn):8.50 – 8 = 0.500000001  其實(shí)原因和2差不多

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

總結(jié)

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


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 兖州市| 都匀市| 威宁| 乌拉特中旗| 剑阁县| 永康市| 克东县| 开化县| 和田县| 应城市| 建平县| 隆安县| 高雄县| 瑞昌市| 临高县| 陕西省| 郑州市| 蕉岭县| 元谋县| 扶绥县| 晋州市| 承德市| 崇信县| 延津县| 浮山县| 同江市| 大方县| 武川县| 海盐县| 延安市| 杭州市| 新邵县| 新和县| 乐东| 微博| 游戏| 荃湾区| 富民县| 南汇区| 姚安县| 紫云|