精華區beta C_and_CPP 關於我們 聯絡資訊
for(c=0;c<=2;c+=0.1) cout<<c; 就上面兩行簡單的code而已.... 我想知道為什麼for只執行到c=1.9即跳出 同樣的code for(c=0;c<=2;c++) cout<<c; (c是int型態) 這樣就可以印出1和2呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.44.207
sawang:因為浮點數是用有限位數來存的,會有誤差 03/19 20:43
MOONRAKER:你斷不可以用浮點數為for loop的控制變數(咦,十誡沒有) 03/19 21:05
MOONRAKER:以整數為控制變數,然後乘 1.0 得到浮點值,才是正途 03/19 21:06
MOONRAKER:當然更好的方法是用 float cast 或 float constructor 03/19 21:08
a149851571:s大,,可是我才加0.1而已...會有誤差出現嗎? 03/19 21:46
a149851571:M大,,感謝您..我以後會多注意. 03/19 21:48