স্ট্রিং ক্লাসে isdigit() নামে একটি মেথড রয়েছে যা True রিটার্ন করে যদি স্ট্রিং-এর সকল ক্যারেক্টার ডিজিট হয় এবং কমপক্ষে একটি ক্যারেক্টার থাকে, অন্যথায় False। আপনি এটিকে নিচেরভাবে কল করতে পারেন:
>>> "12345".isdigit() True >>> "12345a".isdigit() False
কিন্তু এটি ফ্লোটিং-পয়েন্ট নম্বরের জন্য ফেল করবে। সেই নম্বরের জন্য আমরা নিচের মেথডটি ব্যবহার করতে পারি:
def isfloat(value):
try:
float(value)
return True
except ValueError:
return False
isfloat('12.345')
isfloat('12a')
# এটি নিচের আউটপুট দেবে:
# True
# False
আপনি একই ফলাফলের জন্য রেজেক্সও ব্যবহার করতে পারেন। ডেসিমাল ম্যাচ করতে, আমরা re.match(regex, string) কল করতে পারি রেজেক্স "^\d+?\.\d+?$" ব্যবহার করে। উদাহরণস্বরূপ,
>>> bool(re.match("^\d+?\.\d+?$", '123abc'))
False
>>> bool(re.match("^\d+?\.\d+?$", '12.345'))
True