天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

淺談PHP強制類型轉換,慎用!

php是一門弱類型的語言。這是它的優(yōu)勢和特點,但是有的時候你又不得不對類型進行相應的轉換。

這個時候問題就來了。因為很多情況下,你會發(fā)現(xiàn)轉換類型之后得到的數據和預期的值相差老大一截。

這里我以強制轉換為整形作為例子。

看下面的代碼,可以說你絕對不可能說出正確的答案。
echo (int) 123.999999999999999;
echo (int)   -1.999999999999999;
echo (int)   -1.9999999999999999;
echo (int)   -0.99999999999999999;
echo (int)  -10.999999999999999;
echo (int) -1000.9999999999999;
echo (int) -9999999999;

下面來看看我得到的結果。

首先要說明下我的系統(tǒng)環(huán)境。win7 X86

得到的結果如下

124
 -1
 -2
 -1
 -10
 -1001
 -1410065407

官方給出的說法是:

當從浮點數轉換成整數時,將向零取整。

如果浮點數超出了整數范圍(通常為 +/- 2.15e+9 = 2^31),則結果不確定,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!

說了這么多,總結就一句話:精度不夠關我鳥事!

看到這里,你可能會認為我上面舉的例子有點牽強。因為根本不可能用到那么高的精度。

那么,我們來看下面的這個例子。

echo (int) ( (0.1+0.7) * 10 );

不用猜了,這里的執(zhí)行結果是---7!

對,你沒看錯,我也沒敲錯,結果是 7 ,而不是我們通常認為的 8 。

現(xiàn)在,你知道php有多么操蛋了吧!

php官方有這么一句警告:

決不要將未知的分數強制轉換為 integer,這樣有時會導致不可預料的結果。

所以在進行強制類型轉換的時候一定要慎重!大數值,高精度,分數都要慎用!

當然,上面的那個例子可以這樣來處理。
x$num = (0.1 + 0.7) * 10;
echo (int) $num;

php技術淺談PHP強制類型轉換,慎用!,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品无码久久久久久国产百度 | 日日摸夜夜添夜夜爽出水 | 成 人 网 站毛片 | 张开腿我尝尝你的草莓 | 乡村教师电影完整版在线观看 | 免费乱理伦片在线观看八戒 | 精品视频久久久久 | 91九色麻豆| 甜性涩爱全集在线观看 | 99国产视频 | 宝贝好紧好爽再搔一点试視頻 | 男女牲交全过程免费播放 | 国产AV综合手机在线观看 | 强开少妇嫩苞又嫩又紧九色 | 国产成人综合95精品视频免费 | 红尘影院手机在线观看 | 欧美午夜精品久久久久久浪潮 | 国产精品无码中文在线AV | 日本无修肉动漫在线观看 | 国产剧果冻传媒星空在线观看 | 男污女XO猛烈的动态图 | 777久久人妻少妇嫩草AV蜜桃 | 宫交拔不出来了h黑人 | 国自产精品手机在线视频 | 恋孩癖网站大全在线观看 | 伊人久久大香线蕉综合bd高清 | 国产成人精视频在线观看免费 | 97视频国产 | 爆乳啪啪无码成人二区亚洲欧美 | 国产免费69成人精品视频 | 伊人久在线 | 国产欧美一区二区精品久久久 | 亚洲欧洲日本无在线码播放 | 精品国产品国语在线不卡丶 | 动漫美女被到爽了流 | 国产无遮挡无码视频在线观看不卡 | 伊伊人成亚洲综合人网 | 最近的2019中文字幕国语 | 伊人影院亚洲 | 和搜子的日子 在线观看 | 在线看免费毛片 |