Last Updated : 30 Dec, 2024
In Python, the isdecimal() method is a quick and easy way to check if a string contains only decimal digits. It works by returning True when the string consists of digits from 0 to 9 and False otherwise. This method is especially useful when we want to ensure that user inputs or string data are strictly numeric without any special characters or spaces.
Python
a = "12345"
print(a.isdecimal()) # This will print True as all characters are digits
b = "12345a"
print(b.isdecimal()) # This will print False because 'a' is not a decimal character
Syntax of isdecimal()
Parametersstring.isdecimal()
The method returns:
A string that contains a decimal point or any other non-digit characters will return False. For example, strings like "123.45" or "100,000" will fail the check because the period (.) and the comma (,) are not considered decimal digits.
Python
e = "123.45"
print(e.isdecimal()) # False, because '.' is not a decimal character
f = "100,000"
print(f.isdecimal()) # False, because ',' is not a decimal character
Example 2: Strings with Spaces or Symbols
The isdecimal() method does not consider spaces or symbols as decimal characters. Let’s see an example:
Python
d = "12 34"
print(d.isdecimal())
# This will print False because there’s a space between the numbers
Example 3: Non-Decimal Numeric Characters
There are certain numeric characters from other writing systems or formats that look like digits but are not considered decimal digits in Python. For example, the Arabic-Indic numerals or other scripts that represent numbers differently.
Python
c = "١٢٣٤٥" # Arabic-Indic numerals
print(c.isdecimal()) # True, because these characters are considered decimal in their script
d = "Ⅻ" # Roman numeral for 12
print(d.isdecimal()) # False, Roman numerals are not decimal
Example 4: Negative Numbers or Symbols
The isdecimal() method also returns False when the string contains negative signs (-) or other symbols like currency symbols ($, €, etc.). The presence of any non-decimal character will cause the method to return False.
Python
g = "-12345"
print(g.isdecimal()) # False, because of the negative sign
h = "$12345"
print(h.isdecimal()) # False, because of the '$' symbol
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4