Python ตรวจสอบว่าสตริง เป็นตัวเลขทั้งหมดหรือไม่ ด้วยเมธอด isdigit()

Python ตรวจสอบว่าสตริง เป็นตัวเลขทั้งหมดหรือไม่ ด้วยเมธอด isdigit()

Python ตรวจสอบว่าสตริง เป็นตัวเลขทั้งหมดหรือไม่ ด้วยเมธอด isdigit()

เมธอด isdigit() เป็นเมธอดของสตริง ใช้สำหรับตรวจสอบว่าอักขระทั้งหมดในสตริงเป็นตัวเลขหรือไม่ โดยถ้าใช่ จะคืนค่าเป็น True แต่ถ้าไม่ใช่ จะคืนค่าเป็น False ในกรณีที่เป็นเลขยกกำลัง ก็จะถือว่าเป็นตัวเลขด้วยเช่นกัน

เมธอด isdigit() ไม่มีพารามิเตอร์ มีรูปแบบการใช้งานดังนี้

string.isdigit()

ตัวอย่างการใช้งานเมธอด isdigit()

mytext2 = "Python"
mytext3 = "1234"
mytext4 = "Python2020"

x = mytext2.isdigit()   # False
y = mytext3.isdigit()   # True
z = mytext4.isdigit()   # False

print(x)
print(y)
print(z)

จากตัวอย่างด้านบน x จะมีค่าเป็น False เพราะ “Python” ไม่ใช่ตัวเลข y จะมีค่าเป็น True เพราะ “1234” เป็นตัวเลข ส่วน z จะมีค่าเป็น False เพราะ “Python2020” ไม่ใช่ตัวเลขทั้งหมด

การใช้งานเมธอดกับรหัส unicode

a = "\u0030" # รหัส unicode ของตัวเลข 0
b = "\u00B2" # รหัส unicode ของตัวเลข ²

print(a.isdigit())	# True
print(b.isdigit()) 	# True

จากโค้ด ทั้ง a และ b เมื่อตรวจสอบด้วยเมธอด isdigit() จะได้ค่าเป็น True เพราะ “\u0030” เป็นรหัส unicode ของตัวเลข 0 ส่วน “\u00B2” เป็นรหัส unicode ของตัวเลขยกกำลัง 2