Friday, 22 April 2016

How can I check if a string has a numeric value in it in Python?











For example, I want to check a string and if it is not convertible to integer(with int()), how can I detect that?



Answer



Use the .isdigit() method:



>>> '123'.isdigit()
True
>>> '1a23'.isdigit()
False


Quoting the documentation:





Return true if all characters in the string are digits and there is at least one character, false otherwise.




For unicode strings or Python 3 strings, you'll need to use a more precise definition and use the unicode.isdecimal() / str.isdecimal() instead; not all Unicode digits are interpretable as decimal numbers. U+00B2 SUPERSCRIPT 2 is a digit, but not a decimal, for example.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...