【发布时间】:2018-09-04 01:04:03
【问题描述】:
我正在制作一个程序,它可以告诉过去或未来任何日期的星期几。为了将 4 位数年份拆分为世纪的前 2 个数字和年份的后 2 个数字,以使公式正常工作,我使用了以下 2 行代码: 整数 y = yANDc / 100; 整数 c = yANDc % 100;
问题是当我显示最终输出时。如果他们在“xx00”和“xx09”之间输入一个 4 位数的年份,它会删除任何前面的“0”。因此,如果他们输入“2009”,最终输出将写为“209”。
关于如何解决此问题并将其格式化为不会在“0”之前删除的任何想法?
【问题讨论】:
-
FWIW:Java 整数不包含前导零 .. 永远。要生成带前导零的 字符串,请参阅 printf/format and 0-padded fixed width fields(也可参见 here 和 here)。
-
格式细节本身可以在 Formatter 类中找到(由上述 printf/format 方法使用)javadoc - docs.oracle.com/javase/8/docs/api/java/util/Formatter.html
-
我是在这个网站上发帖的新手,但感谢您的回复。我会赞成你的答案,但我不知道怎么做。我可以通过添加来修复它:(使用我的变量) String sOFy = String.format ("%02d", y);
-
您可以使用tour 并阅读How to Ask。 help center 也可能会有所帮助。干杯。
标签: java string type-conversion string-formatting