我想在0.0小时内显示时间。所以我想把分钟数除以60得到.xx
这就是我所拥有的,但是我没有得到任何东西。即使输入的分钟数不均匀......
double hoursLeftMins = hoursRemaining + (minsRemaining/60);
recommendTime.setText(Double.toString(hoursLeftMins));
答案 0 :(得分:2)
如果minsRemaining
为int
,则将表达式更改为
double hoursLeftMins = hoursRemaining + (minsRemaining/60.0);
说明:如果划分两个整数,则小数部分将被截断。为了保留小数部分,除以60.0
,以便将数字视为实数,而不是整数。
答案 1 :(得分:0)
如果您想更灵活,为什么不试试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))
);
答案 2 :(得分:0)
我建议切换到BigDecimal,而不是双倍,这个算法。在BigDecimal中,很容易控制小数点后的位数和舍入模式。 Double.toString可能会提供比你想要的更多的数字。