在python字符串中有一个方法isnumeric
和isdigit
。
我的(错误的)印象是isnumeric
和isdecimal
会为True
等字符串返回123.45
,否则会返回false。我正在运行以下版本的python:
Python 3.4.2 (default, Jan 7 2015, 11:54:58)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
我发现isnumeric
和isdecimal
如果字符串中的所有字符都是整数则返回true,但如果存在'.'
(点)则返回false。是什么导致这种行为?不应该'123.45'.isnumeric()
返回True
吗?
>>> mystr_a = '123.45'
>>> mystr_b = '123'
>>>
>>> mystr_a.isnumeric()
False
>>> mystr_a.isdecimal()
False
>>> mystr_b.isnumeric()
True
>>> mystr_b.isdecimal()