[請益] 請問(int) ((0.1 + 0.7) * 10)為什麼是7
大家好~今天看書上寫了這個範例讓我滿納悶的
PHP Code :
echo (int) ((0.1 + 0.7) * 10);
正常情況下看到應該會印出8,但書上寫的答案是7
我也用http://writecodeonline.com/php/這個網站試了一下確實是印出7
書上的說法是在這邊最後計算的結果是7.999999再轉換成8
但遇到將型態轉成整數就會變成了7
那這邊有兩個問題:
1.我把0.7換成0.1~0.9但就只有0.7會有這個問題,請問是為什麼呢?
2.為什麼在這裡的計算結果會變成了7.999999呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.63.50.193
推
05/17 17:55, , 1F
05/17 17:55, 1F
→
05/17 17:56, , 2F
05/17 17:56, 2F
推
05/17 19:45, , 3F
05/17 19:45, 3F
推
05/17 20:27, , 4F
05/17 20:27, 4F
推
05/17 21:51, , 5F
05/17 21:51, 5F
推
05/17 22:35, , 6F
05/17 22:35, 6F
→
05/17 22:36, , 7F
05/17 22:36, 7F
→
05/17 23:04, , 8F
05/17 23:04, 8F
→
05/17 23:06, , 9F
05/17 23:06, 9F
→
05/17 23:09, , 10F
05/17 23:09, 10F
→
05/17 23:11, , 11F
05/17 23:11, 11F
→
05/18 16:03, , 12F
05/18 16:03, 12F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章