如何在Java中打印时设置位数?

时间:2016-11-19 16:57:22

标签: printing numbers integer number-formatting

我无法澄清我在标题中提出的问题。我是一天和一个月的整数。如果它只是一位数,我必须在它前面打一个0。

例如04如果月份= 4,依此类推。

这就是它在C#中的样子:

Console.WriteLine("{0}.{1:00}", day, month);

谢谢。

2 个答案:

答案 0 :(得分:0)

int month = 4;
DecimalFormat formater = new DecimalFormat("00");
String month_formated = formater.format(month);

答案 1 :(得分:0)

除了提供the answer Fernando Lahoz(这非常适合您的情况:十进制格式化),您还可以在Java中使用System.out.format,它允许您在打印到System.out时指定格式字符串( format函数适用于任何PrintStream。在你的情况下

System.out.format("%2d %2d", day, month)

应该做的伎俩。 %d用于十进制整数,然后您可以在'd'之前指定任何宽度(在您的情况下为2)。

如果您想访问为以后使用而形成的字符串而不是(仅)打印它,您可以使用String.format。它使用与System.out.format相同的格式,但返回形成的字符串。

可以找到所有格式(字符串,小数,浮点,日历,日期/时间......)的完整语法here。 如果您想要快速设置数字格式,可以选择this linkthis link

祝你好运!