您好,登錄后才能下訂單哦!
導(dǎo)師培訓(xùn)出了這樣一個題目:
echo $a = floor((0.1+0.8)*10);
查了查floor()函數(shù)的解釋,如以下所示:
“返回不大于 value 的下一個整數(shù),將 value 的小數(shù)部分舍去取整。floor() 返回的類型仍然是 float,因為 float 值的范圍通常比 integer 要大?!?/span>
實踐和手酸都得出,上題答案是:9.
你認(rèn)為自己學(xué)會了這個函數(shù)了么?或者說徹底理解了浮點型了么?
讓我們試試另一個特殊的題目:
echo $a = floor((0.1+0.7)*10);
這個語句會輸出什么結(jié)果呢?
8?
不!
實際上,輸出的是:7!
這是因為我們注意力都放在了函數(shù)的功能實現(xiàn)上,因而忽略了返回類型是浮點型這一特點。
讓我們繼續(xù)看看 php手冊上的解釋:
將0.1和0.7轉(zhuǎn)化成二進制格式進行計算再換算成十進制,也就明白了其中的妙處。
另外,提醒自己,在調(diào)用函數(shù)的時候,除了要注意功能和使用場景外,更要清楚知道其變量的數(shù)據(jù)類型及其使用范圍。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。