请问为什么numberutils.createinteger("08"),当传入的字符串提取的数字是这个数的时候报错呢?
其他数都没有问题,单单轮到这个数就会报错
追到最底层也没懂为什么会报错
请问为什么numberutils.createinteger("08"),当传入的字符串提取的数字是这个数的时候报错呢?
其他数都没有问题,单单轮到这个数就会报错
追到最底层也没懂为什么会报错
如果你的这个numberUtil是apache-common包的,这里0开头的数字,这个方法会当成8进制的数来处理,而八进制是没有8这个字符的。你可以试试createInteger("07") 这个是不会报错的。
它调用的是jdk中integer的decode方法,参考源码的这里。var1应该代表的就是几进制。
} else if (var0.startsWith("0", var2) && var0.length() > 1 + var2) {
++var2;
var1 = 8;
}