C的这种方法的浮点整数映射上是线性的,java的方法在0附近将发生重叠,这样的话,在实数域处理问题要分类讨论,不方便。方法好像有Math.floor(),不知道还有没有简单的表达式
(int)-0.5=-1这个才是科学的,因为int永远是找比自身小的最大整数。
java需要判断double d = -0.5;int r = d > 0? (int)d : (int)d - 1;