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