溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP入門(一):關(guān)于浮點數(shù)的小細(xì)節(jié)

發(fā)布時間:2020-08-25 20:25:18 來源:網(wǎng)絡(luò) 閱讀:630 作者:lolo091 欄目:web開發(fā)

導(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手冊上的解釋:

PHP入門(一):關(guān)于浮點數(shù)的小細(xì)節(jié)

將0.1和0.7轉(zhuǎn)化成二進制格式進行計算再換算成十進制,也就明白了其中的妙處。


另外,提醒自己,在調(diào)用函數(shù)的時候,除了要注意功能和使用場景外,更要清楚知道其變量的數(shù)據(jù)類型及其使用范圍。

向AI問一下細(xì)節(jié)

免責(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)容。

AI