[問題] 四捨五入問題

作者: 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的作用如一樓所說,也不是真的拿來判斷四捨五入
作者: flydragon198 (Richard)   2014-07-09 21:55:00
(r>0.0)是否為true,true則執行r+0.5,false則r-0.5
作者: sos0214 (kaleidoscope)   2014-07-09 22:13:00
假設r我設為大於0的數這樣不是判斷不是應該永遠都大於0?
作者: prismwu   2014-07-09 22:17:00
我覺得上面那句話好難懂喔...是我斷句錯了嗎
作者: smallyou1988   2014-07-09 22:20:00
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
作者: IhateOGC (我討厭)   2014-07-09 23:14:00
太神奇了0.0

Links booklink

Contact Us: admin [ a t ] ucptt.com