首页 > 解决方案 > 当我将这两个整数相除时,为什么会得到 0.0?

问题描述

我试图显示使用固定时间过去的百分比。但是,当我将已经过去的时间除以一天的总时间(以秒为单位)时,我得到 0.0。我将当前值放入控制台。任何帮助表示赞赏。

标签: java

解决方案


您正在执行整数除法,然后将其转换为double. 你应该这样做:

int numOfSecondsSinceMidnight = 61960;
int totalDay = 86400;
double percentDayPassed = 0;
percentDayPassed = (((double)numOfSecondsSinceMidnight / totalDay)*100);
System.out.println(percentDayPassed);

或者更好的是,将numOfSecondsSinceMidnightand更改totalDaydoubles:

double numOfSecondsSinceMidnight = 61960;
double totalDay = 86400;
double percentDayPassed = 0;
percentDayPassed = ((numOfSecondsSinceMidnight / totalDay)*100);
System.out.println(percentDayPassed);

两者都打印:

71.71296296296296

推荐阅读