如何确保在解析为Integer时String输入不会丢失任何字符

时间:2018-09-04 01:04:03

标签: java string type-conversion string-formatting

我正在编写一个程序,该程序可以告诉星期几过去或将来的任何日期。为了将4位数字的年份分为世纪的前2个数字和年份的后2个数字,以使公式正常工作,我使用了以下2行代码: 整数y = yANDc / 100; Int c = yANDc%100;

问题是当我显示最终输出时。如果他们在“ xx00”和“ xx09”之间输入4位数字的年份,则会截断任何前面的“ 0”。因此,如果他们输入“ 2009”,则最终输出将写为“ 209”。

关于如何解决此问题并将其格式化为不会降到“ 0”前的任何想法?

1 个答案:

答案 0 :(得分:3)

您需要设置显示数字的格式。

类似的东西:

int year = 9;
int century = 20;

DecimalFormat df = new DecimalFormat("00");
System.out.println( df.format(century) );
System.out.println( df.format(year) );
System.out.println( df.format(century) + df.format(year) );

或者您可以使用String.format(...)方法:

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