如何打印整数00而不是java打印0

时间:2013-11-12 15:42:18

标签: java

我有一个变量private int minutes = 00

如果我执行System.out.println(minutes),Java将打印0而不是00,这是值。它正在删除最后一个零,但在这个特定示例中,我希望它打印00。怎么做?

我还尝试将分钟作为字符串,并执行:Integer.parseInt(minutes)然后打印它。但结果是一样的。

4 个答案:

答案 0 :(得分:9)

您可以使用printf()

int n = 00;
System.out.printf("%02d%n", n);
00

但是要小心使用0添加文字,因为这会使它们成为octal(参见JLS §3.10.1)。

例如,

int n = 010;
System.out.printf("%02d%n", n);
08

答案 1 :(得分:6)

您可以使用以下格式进行打印:

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

说明:

  • %02d指定宽度为2且填充标记为0的整数转换($d)。
  • %n指定行终止符(模仿println添加的新行)

如果您想将minutes转换为String以便在程序中使用(而不是打印),您可以使用String.format来达到同样的效果:

int minutes = 0;
String sMinutes = String.format("%02d", minutes);

更多信息可在docs on Formatter syntax

中找到

答案 2 :(得分:5)

您可以执行以下操作 -

private int minutes = 0
DecimalFormat formatter = new DecimalFormat("00");
String aFormatString = formatter.format(minutes);

System.out.println(aFormatString);

只需保存一些行 - System.out.println(new DecimalFormat("00").format(minutes));

答案 3 :(得分:0)

您可以尝试这种方法,我已经在大学里学过了

private static String formate(int valor) {
    return (valor < 10 ? "0" : "") + valor;
}