我试图以 0.0 小时显示时间。所以我想将分钟除以 60 得到 .xx
这就是我所拥有的,但在 . 即使输入的分钟数是奇数...
double hoursLeftMins = hoursRemaining + (minsRemaining/60);
recommendTime.setText(Double.toString(hoursLeftMins));
如果将minsRemaining
表达式int
更改为
double hoursLeftMins = hoursRemaining + (minsRemaining/60.0);
说明:如果将两个整数相除,小数部分将被截断。为了保留小数部分,除以60.0
,以便将数字视为实数,而不是整数。
对于这种算术,我建议切换到 BigDecimal,而不是 double。在 BigDecimal 中,可以轻松控制小数点后的位数和舍入方式。Double.toString 可能会提供比您想要的更多的数字。
如果你想变得更灵活,何不试试 TimeUnit?
long millis = ... //Total time in milliseconds
String time = String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(millis),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);