Android String.format 未按预期工作

Android String.format not working as expected

问题

我希望 "%02f" 在适用的情况下显示带有前导零的整数。

问题

如何将 2.0 的双精度格式格式化为带有 String.format"02" 字符串?

代码

 int time = ((Long)task.result).intValue(); // time: 3166

 double days = Math.floor(time / 1440); // days: 2.0
 double hours = Math.floor(time / 60); // hours: 52.0
 double mins = Math.floor(time % 60); // mins: 46.0

 String dayStr = String.format("%02f", days); // dayStr: "2.00000"
 String hourStr = String.format("%02f", hours); // hourStr: "52.00000"
 String minStr = String.format("%02f", mins); // minStr: "46.00000"

 daysTxt.setText(dayStr);
 hoursTxt.setText(hourStr);
 minsTxt.setText(minStr);

您可以使用以下方法:

String dayStr = String.format("%02.0f", days);