มีเมธอดที่เรียกว่า isdigit() ในคลาส String ที่คืนค่า จริง หากอักขระทั้งหมดในสตริงเป็นตัวเลข และมีอักขระอย่างน้อยหนึ่งตัว มิฉะนั้น เท็จ เรียกได้ดังนี้:
>>> "12345".isdigit() True >>> "12345a".isdigit() False
แต่สิ่งนี้จะล้มเหลวสำหรับตัวเลขทศนิยม เราสามารถใช้วิธีต่อไปนี้สำหรับตัวเลขเหล่านั้น:
def isfloat(value): try: float(value) return True except ValueError: return False isfloat('12.345') isfloat('12a') This will give the output: True False
คุณยังสามารถใช้ regexes เพื่อผลลัพธ์เดียวกันได้ สำหรับทศนิยมที่ตรงกัน เราสามารถเรียก re.match(regex, string) โดยใช้ regex:"^\d+?\.\d+?$" ตัวอย่างเช่น
>>> bool(re.match("^\d+?\.\d+?$", '123abc')) False >>> bool(re.match("^\d+?\.\d+?$", '12.345')) True