我必须将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/