2 azy759 Azy759 于 2016.04.27 23:10 提问

C中,(int)-0.5=-1,java中,(int)-0.5=0;java有没有类似算法

C的这种方法的浮点整数映射上是线性的,java的方法在0附近将发生重叠,这样的话,在实数域处理问题要分类讨论,不方便。
方法好像有Math.floor(),不知道还有没有简单的表达式

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.27 23:28
已采纳

(int)-0.5=-1
这个才是科学的,因为int永远是找比自身小的最大整数。

java需要判断
double d = -0.5;
int r = d > 0? (int)d : (int)d - 1;

Azy759
Azy759 谢谢你!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!