我必须将Strings的前2个字符转换为int。
问题是,当字符串以09开头时,将其转换为1,并且年份看起来像2001,而不是2009。

这就是我所拥有的,也许有更好的方法...

String s = longString.substring(0, 2); // 09asdasdas
int jahr = Integer.parseInt(s);

最佳答案

...看起来像是2001年而不是2009年...


不确定我能收到您的问题,但这可能取决于您的打印方式。以下代码在必要时显示前导0:

String longString = "09asdasdas";
String s = longString.substring(0, 2);
int jahr = Integer.parseInt(s);
System.out.printf("Year 20%02d.", jahr);  // prints "2009"


与此代码段进行比较

String longString = "59asdasdas";         // <-- Changed to "59....."
String s = longString.substring(0, 2);
int jahr = Integer.parseInt(s);
System.out.printf("Year 20%02d.", jahr);  // prints "2059"


(这里是ideone demo。)

关于java - 将字符串转换为以0开头的整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4069175/

10-12 04:15