作者:
sos0214 (kaleidoscope)
2014-07-09 20:02:33程式碼:
int round_int( double val )
{
return (val < 0.0) ? (int)(val - 0.5) : (int)(val + 0.5) ;
}
這是一段四捨五入的程式碼,我想問的是 (val < 0.0)的判斷
小弟無法理解,請幫忙解惑
作者:
ck574b027 (荒圍!定厝!賊!妹!)
2014-07-09 20:18:00就負數的四捨五入不一樣啊。話說四捨五入長這樣?
作者:
sos0214 (kaleidoscope)
2014-07-09 21:15:00我想問的是 r > 0.0 為什麼可以拿來判斷四捨五入
作者: keeper7478 (the Servant of Cthulhu) 2014-07-09 21:21:00
這只有做小數第一位到整數的四捨五入r>0.0的作用如一樓所說,也不是真的拿來判斷四捨五入
(r>0.0)是否為true,true則執行r+0.5,false則r-0.5
作者:
sos0214 (kaleidoscope)
2014-07-09 22:13:00假設r我設為大於0的數這樣不是判斷不是應該永遠都大於0?
r=5.4時,5.4+0.5=5.9 回傳是int , 所以變成5這樣XD假設r=5.6,5.6+0.5=6.1,回傳6這樣 XD
作者:
sos0214 (kaleidoscope)
2014-07-09 22:48:00抱歉是我想錯了XD