0

時間を 0.0 時間で表示しようとしています。だから私は分を60で割って.xxを取得したい

これは私が持っているものですが、の後に何も得られません。入力された分数に偏りがあっても...

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

3 に答える 3

2

式を次のようminsRemainingint変更します

double hoursLeftMins = hoursRemaining + (minsRemaining/60.0);

説明: 2 つの整数を除算すると、小数部分が切り捨てられます。小数部分を保持するために、 で除算し60.0、数値が整数としてではなく実数として扱われるようにします。

于 2013-02-05T16:23:46.920 に答える
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))
             );
于 2013-02-05T16:26:27.287 に答える
0

この演算では、double ではなく BigDecimal に切り替えることをお勧めします。BigDecimal では、小数点以下の桁数と丸めモードの両方を簡単に制御できます。Double.toString は、必要以上の桁数を与える場合があります。

于 2013-02-05T16:37:35.470 に答える