如何格式化数字0..9以显示2位数(它不是日期)

问题

我想总是显示一个低于100的数字2位数(例如:03,05,15 ......)

如何在不使用条件的情况下附加0来检查它是否低于10?

我需要将结果追加到另一个String,所以我不能使用printf。


#1 热门回答(372 赞)

你可以使用:

String.format("%02d", myNumber)

另见thejavadocs


#2 热门回答(46 赞)

如果你需要打印号码,可以使用printf

System.out.printf("%02d", num);

你可以使用

String.format("%02d", num);

要么

(num < 10 ? "0" : "") + num;

要么

(""+(100+num)).substring(1);

#3 热门回答(32 赞)

你可以用这个:

NumberFormat formatter = new DecimalFormat("00");  
String s = formatter.format(1); // ----> 01