[問題] 四捨五入問題

看板C_and_CPP作者 (kaleidoscope)時間11年前發表 (2014/07/09 12:02), 11年前編輯推噓4(407)
留言11則, 7人參與, 最新討論串1/1
程式碼: int round_int( double val ) { return (val < 0.0) ? (int)(val - 0.5) : (int)(val + 0.5) ; } 這是一段四捨五入的程式碼,我想問的是 (val < 0.0)的判斷 小弟無法理解,請幫忙解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.48.144 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1404907357.A.72C.html

07/09 20:18, , 1F
就負數的四捨五入不一樣啊。話說四捨五入長這樣?
07/09 20:18, 1F

07/09 21:15, , 2F
我想問的是 r > 0.0 為什麼可以拿來判斷四捨五入
07/09 21:15, 2F

07/09 21:21, , 3F
這只有做小數第一位到整數的四捨五入
07/09 21:21, 3F

07/09 21:21, , 4F
r>0.0的作用如一樓所說,也不是真的拿來判斷四捨五入
07/09 21:21, 4F

07/09 21:55, , 5F
(r>0.0)是否為true,true則執行r+0.5,false則r-0.5
07/09 21:55, 5F

07/09 22:13, , 6F
假設r我設為大於0的數這樣不是判斷不是應該永遠都大於0?
07/09 22:13, 6F

07/09 22:17, , 7F
我覺得上面那句話好難懂喔...是我斷句錯了嗎
07/09 22:17, 7F

07/09 22:20, , 8F
r=5.4時,5.4+0.5=5.9 回傳是int , 所以變成5這樣XD
07/09 22:20, 8F

07/09 22:21, , 9F
假設r=5.6,5.6+0.5=6.1,回傳6這樣 XD
07/09 22:21, 9F
※ 編輯: sos0214 (114.34.48.144), 07/09/2014 22:46:31

07/09 22:48, , 10F
抱歉是我想錯了XD
07/09 22:48, 10F

07/09 23:14, , 11F
太神奇了0.0
07/09 23:14, 11F
文章代碼(AID): #1JlIzTSi (C_and_CPP)