https://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/math/NumberUtils.html#isCreatable-java.lang.String- 使用isCreatable代替,我假设isNumber的工作原理基本相同。 以前导零开头的非十六进制字符串被视为八进制值。因此,字符串09将返回false,因为9不是有效的八进制值。但是,以0开头的数字被视为十进制。 00 - 07是数字。08 - 010不被解释为八进制数字,但这是库的问题。 参见What do numbers starting with 0 mean in python? 如有疑问,请阅读手册。
4条答案
按热度按时间ugmeyewa1#
isNumber方法已弃用:
isNumber(String str)已弃用。Lang 4.0中将删除此功能,请改用isCreatable(String)
将isCreatable用于上述目的。
将通过isCreatable方法检测您的上述检查ocatl类型值的要求:
这个方法检查字符串是否是一个有效的Java数字。
有效的数字包括用0x或0X限定符标记的十六进制数字、八进制数字、科学记数法和用类型限定符标记的数字(例如123L)。
以前导零开头的非十六进制字符串被视为八进制值。因此,字符串09将返回false,因为9不是有效的八进制值。但是,以0开头的数字被视为十进制。
参考公文
n6lpvg4x2#
以前导零开头的非十六进制字符串被视为八进制值。
因此,字符串**
"09"
将返回false
**。这是因为
9
不是有效的八进制值。参考官方文件
sq1bmfud3#
https://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/math/NumberUtils.html#isCreatable-java.lang.String-
使用isCreatable代替,我假设isNumber的工作原理基本相同。
以前导零开头的非十六进制字符串被视为八进制值。因此,字符串09将返回false,因为9不是有效的八进制值。但是,以0开头的数字被视为十进制。
00 - 07是数字。08 - 010不被解释为八进制数字,但这是库的问题。
参见What do numbers starting with 0 mean in python?
如有疑问,请阅读手册。
46scxncf4#
使用isParsable()