我可以使用哪种API将int
格式化为2位数字?
例如,在此循环中
for (int i = 0; i < 100; i++) {
System.out.println("i is " + i);
}
我可以使用哪些内容确保i
打印出01
,02
,10
,55
等(假设范围为01- 99)
答案 0 :(得分:28)
你可以简单地做
System.out.printf("i is %02d%n", i);
有关详细信息,请查看Formatter
的文档。相关部分是:
- 常规,字符和数字类型的格式说明符具有以下语法:
%[argument_index$][flags][width][.precision]conversion
(在这种特殊情况下,您有0
作为标记,2
作为宽度,d
作为转化。)
<强>转换强>
'd'
整数结果格式化为十进制整数
<强>标志强>
'0'
结果将为零填充
此格式化语法也可以在其他一些地方使用,例如:
String str = String.format("i is %02d", i);
答案 1 :(得分:10)
String
类实际上是格式化的。
对于您的情况,请尝试:
String.format("%02d",i)
答案 2 :(得分:4)
您可以使用DecimalFormat对象。
DecimalFormat formatter = new DecimalFormat("#00.###");
int test = 1;
System.out.println(formatter.format(test));
将打印“01”。