php有意思的現(xiàn)象,應(yīng)該是很多編程語(yǔ)言都會(huì)有這樣的現(xiàn)象。這個(gè)是因?yàn)橛?jì)算機(jī)的本身對(duì)浮點(diǎn)數(shù)識(shí)別的問(wèn)題.....下面通過(guò)代碼給大家展示下:
$f = 0.58;
var_dump(intval($f * 100 *100)); //結(jié)果5799
var_dump((float)($f * 100 *100)); //結(jié)果5800
echo (int)((0.1+0.7)*10); //結(jié)果7
echo (float)((0.1+0.7)*10); //結(jié)果8
<?php
$a = 0.1;
$b = 0.7;
var_dump(($a + $b) == 0.8);
//打印出來(lái)的值居然為 boolean false
<?php
$a = 0.1;
$b = 0.7;
var_dump(bcadd($a,$b,2) == 0.8);// bool true
再次需注意的是在浮點(diǎn)數(shù)計(jì)算的時(shí)候,切記不要把浮點(diǎn)數(shù)轉(zhuǎn)換成整形,否則會(huì)出現(xiàn)不可能預(yù)估的錯(cuò)誤。
以上代碼就是PHP之浮點(diǎn)數(shù)計(jì)算比較以及取整數(shù)不準(zhǔn)確的解決辦法。
新聞熱點(diǎn)
疑難解答
圖片精選