252

我想总是用 2 位数字显示 100 以下的数字(例如:03、05、15...)

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

我需要将结果附加到另一个字符串,所以我不能使用 printf。

4

6 回答 6

624

您可以使用:

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

另请参阅javadocs

于 2012-09-14T09:15:06.473 回答
63

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

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

您可以使用

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

或者

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

或者

(""+(100+num)).substring(1);
于 2012-09-14T09:15:27.603 回答
51

你可以使用这个:

NumberFormat formatter = new DecimalFormat("00");  
String s = formatter.format(1); // ----> 01
于 2012-09-14T09:17:22.120 回答
4

String 类具有格式功能:

System.out.println(String.format("%02d", 5));

对于完整的文档,这里是文档

于 2012-09-14T09:17:25.770 回答
4

在android资源中它相当简单

<string name="smth">%1$02d</string>
于 2017-12-12T11:43:13.170 回答
2

我知道回复晚了,但是有一种基本的方法可以做到这一点,没有库。如果您的号码小于 100,则:

(number/100).toFixed(2).toString().slice(2);

于 2021-02-08T19:58:29.220 回答