Java 大长数字除以圆
我对java有问题,然后我想对大长型数字进行除法,例如,如果我除法165600139/86400000=1.9,但我的方法返回1而不舍入:/Java 大长数字除以圆,java,android,Java,Android,我对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()
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;
}
投双倍
days = (double)current / (double)MILISECONDS_IN_DAY;
投双倍
days = (double)current / (double)MILISECONDS_IN_DAY;
它是四舍五入的,类似于
days = Math.floor((double) current / MILISECONDS_IN_DAY);
如果你想凑到一半,你可以写
days = (current + MILISECONDS_IN_DAY/2) / MILISECONDS_IN_DAY;
使用浮点,您可以使用以下速度慢得多的方法
days = Math.round((double) current / MILISECONDS_IN_DAY);
如果你想集中注意力,你可以这样做
days = (current + MILISECONDS_IN_DAY-1) / MILISECONDS_IN_DAY;
或
顺便说一句,毫秒有两个“l”它是四舍五入的,类似于
days = Math.floor((double) current / MILISECONDS_IN_DAY);
如果你想凑到一半,你可以写
days = (current + MILISECONDS_IN_DAY/2) / MILISECONDS_IN_DAY;
使用浮点,您可以使用以下速度慢得多的方法
days = Math.round((double) current / MILISECONDS_IN_DAY);
如果你想集中注意力,你可以这样做
days = (current + MILISECONDS_IN_DAY-1) / MILISECONDS_IN_DAY;
或
顺便说一句,毫秒有两个“l”实际上结果是四舍五入的,有几种四舍五入模式,请参见,在您的示例中,您得到的是完整天数。四舍五入到我们可以使用的最接近的长度
long days = Math.round(current / 8640000.0);
实际上结果是四舍五入的,有几种四舍五入模式,请看,在您的例子中,您得到的是完整天数。四舍五入到我们可以使用的最接近的长度
long days = Math.round(current / 8640000.0);
你也可能对这门课感兴趣;看起来你可能正在重新发明轮子。:)你也可能对这门课感兴趣;看起来你可能正在重新发明轮子。:)如果
days=2,这是可以的如果days=2,这是可以的