Java的ParseInt方法捕获的字符串将愉快地解析具有前导零供给十进制值未抛出异常,剥离零:爪哇parseInt函数() - 具有前导零
int value = Integer.parseInt("050", 10);
将导致整数值50
但是,我有一个应用程序需要一个像这样的字符串作为无效输入被拒绝。我对这个问题至今一直以解析整数转换回字符串,并且比较原始/解析字符串长度的解决方案,看是否有字符已被剥夺,如:
String original = "050";
value = Integer.parseInt("050", 10);
String parsed = Integer.toString(value);
if (original.length() != parsed.length()) {
System.exit(1);
}
,工作正常,但感觉有点哈克。是否有更好的方法来检测和处理前导零?
你不能使用正则表达式来检查前导0's'吗? – TheLostMind 2015-02-05 13:09:02
它是否必须占一个以上领先的0?例如'0050'。此外,领先的空间或类似的东西呢? – 2015-02-05 13:09:50
在我的情况下,允许使用前导空格,但应该捕获一个或多个前导零0050' – 2015-02-05 13:11:36