将值加倍到TextView中

时间:2013-02-05 16:21:54

标签: java android textview double

我想在0.0小时内显示时间。所以我想把分钟数除以60得到.xx

这就是我所拥有的,但是我没有得到任何东西。即使输入的分钟数不均匀......

double hoursLeftMins = hoursRemaining + (minsRemaining/60);
recommendTime.setText(Double.toString(hoursLeftMins));

3 个答案:

答案 0 :(得分:2)

如果minsRemainingint,则将表达式更改为

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可能会提供比你想要的更多的数字。