我有一个倒数计时器,显示从60到0(1分钟倒数计时器)的秒数。当它达到1位数字,如9,8,7 ..它显示9而不是09.我尝试使用String.format("%[B]02d[/B]", x);
我将x从long转换为字符串。它不起作用。
我希望等效String.format("%2d", 1)
答案 0 :(得分:41)
您可以使用DecimalFormat完成此操作:
NumberFormat f = new DecimalFormat("00");
long time = 9;
textView.setText(f.format(time));
<强>输出:强>
09
或者您也可以使用String.format():
String format = "%1$02d"; // two digits
textView.setText(String.format(format, time));
答案 1 :(得分:6)
使用:text.setText(String.format(" %02d", i));
其中i
是整数值
答案 2 :(得分:3)
为什么不使用if语句?
String str = x < 10 ? "0" + String.valueOf(x) : String.valueOf(x);
这应该可以解决问题。
答案 3 :(得分:1)
TextView time;
int hour=0,minute=0,second=0;
time.setText((String.format("%02d", hour))+":"+(String.format("%02d", minute))+":"+(String.format("%02d", second)));
TextView时间
答案 4 :(得分:0)
Akshat Bhai尝试使用它:
tv.setText(new DecimalFormat("##").format(var));