[问题] 四舍五入问题

楼主: 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