用圆除法的java大长数值
我对java有问题,然后我想除掉大的长型数字,例如,如果我除掉165600139/86400000=1.9,但我的方法返回1而不舍入:/
public static long calcDaysBefore(Date date) {
int MILISECONDS_IN_DAY = 24 * 60 * 60 * 1000;
long days = 0;
if (date != null) {
long current = getCurrentDate().getTime() - date.getTime();
days = current / MILISECONDS_IN_DAY;
}
return days;
}
# 1 楼答案
它是四舍五入的,类似于
如果你想凑到一半,你可以写
使用浮点,你可以使用下面的方法,这要慢得多
如果你想集中注意力,你可以这样做
或者
顺便说一句,毫秒有两个l
# 2 楼答案
实际上结果是四舍五入的,有几种四舍五入模式,请参见http://docs.oracle.com/javase/1.5.0/docs/api/java/math/RoundingMode.html,在您的例子中,您得到的是完整天数。用于四舍五入到我们可以使用的最接近的长度