পাইথনে একটি সংখ্যা একটি পূর্ণসংখ্যা বা দশমিক কিনা তা নির্ধারণ করুন।
নিম্নলিখিত ক্ষেত্রে নমুনা কোড দিয়ে ব্যাখ্যা করা হয়.
- একটি সংখ্যা একটি পূর্ণসংখ্যা int বা একটি ফ্লোটিং-পয়েন্ট ফ্লোট কিনা তা নির্ধারণ করে:
isinstance()
- একটি ফ্লোট টাইপ সংখ্যা একটি পূর্ণসংখ্যা কিনা তা নির্ধারণ করে (0 দশমিক স্থান):
float.is_integer()
- একটি সংখ্যা স্ট্রিং একটি পূর্ণসংখ্যা কিনা তা নির্ধারণ করে
একটি দশমিক সংখ্যার পূর্ণসংখ্যা এবং দশমিক মান পেতে, নিম্নলিখিত নিবন্ধটি দেখুন।
একটি স্ট্রিং একটি সংখ্যা (চীনা সংখ্যা, ইত্যাদি সহ) কিনা তা পূর্ণসংখ্যা বা দশমিক কিনা তা নির্ধারণের জন্য নিম্নলিখিত নিবন্ধটি দেখুন।
একটি সংখ্যা একটি পূর্ণসংখ্যা বা ফ্লোটিং পয়েন্ট প্রকার কিনা তা নির্ধারণ করে:isinstance()
বিল্ট-ইন ফাংশন টাইপ() দিয়ে বস্তুর ধরন পাওয়া যায়।
i = 100
f = 1.23
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
isinstance(object, type)
এই অন্তর্নির্মিত ফাংশন একটি বস্তু একটি নির্দিষ্ট ধরনের কিনা তা নির্ধারণ করতে ব্যবহার করা যেতে পারে. এটি একটি সংখ্যা একটি পূর্ণসংখ্যা বা ভাসমান পয়েন্ট প্রকার কিনা তা নির্ধারণ করতে ব্যবহার করা যেতে পারে।
print(isinstance(i, int))
# True
print(isinstance(i, float))
# False
print(isinstance(f, int))
# False
print(isinstance(f, float))
# True
এই ক্ষেত্রে, এটি শুধুমাত্র প্রকার বিচার করে, তাই এটি একটি ফ্লোট টাইপ মান একটি পূর্ণসংখ্যা (0 এর দশমিক বিন্দু সহ) কিনা তা বিচার করতে পারে না।
f_i = 100.0
print(type(f_i))
# <class 'float'>
print(isinstance(f_i, int))
# False
print(isinstance(f_i, float))
# True
একটি ফ্লোট টাইপ সংখ্যা একটি পূর্ণসংখ্যা কিনা তা নির্ধারণ করে (0 দশমিক স্থান):float.is_integer()
ফ্লোট টাইপের জন্য is_integer() পদ্ধতি প্রদান করা হয়েছে, যা মানটি পূর্ণসংখ্যা হলে সত্য এবং অন্যথায় মিথ্যা প্রদান করে।
f = 1.23
print(f.is_integer())
# False
f_i = 100.0
print(f_i.is_integer())
# True
উদাহরণস্বরূপ, একটি ফাংশন যা একটি পূর্ণসংখ্যার জন্য সত্য প্রদান করে তা নিম্নরূপ সংজ্ঞায়িত করা যেতে পারে অন্যদিকে, একটি স্ট্রিং টাইপ মিথ্যা হবে।
def is_integer_num(n):
if isinstance(n, int):
return True
if isinstance(n, float):
return n.is_integer()
return False
print(is_integer_num(100))
# True
print(is_integer_num(1.23))
# False
print(is_integer_num(100.0))
# True
print(is_integer_num('100'))
# False
একটি সংখ্যা স্ট্রিং একটি পূর্ণসংখ্যা কিনা তা নির্ধারণ করে
আপনি যদি নির্ধারণ করতে চান যে পূর্ণসংখ্যার অঙ্কের একটি স্ট্রিংও একটি পূর্ণসংখ্যা, নিম্নলিখিত ফাংশনগুলি সম্ভব।
float() দিয়ে ফ্লোট টাইপে রূপান্তর করা যেতে পারে এমন মানগুলির জন্য, ফ্লোটে রূপান্তর করার পরে is_integer() পদ্ধতি প্রয়োগ করা হয় এবং ফলাফলটি ফেরত দেওয়া হয়।
def is_integer(n):
try:
float(n)
except ValueError:
return False
else:
return float(n).is_integer()
print(is_integer(100))
# True
print(is_integer(100.0))
# True
print(is_integer(1.23))
# False
print(is_integer('100'))
# True
print(is_integer('100.0'))
# True
print(is_integer('1.23'))
# False
print(is_integer('string'))
# False
স্ট্রিংকে সংখ্যায় রূপান্তর করার বিষয়ে বিস্তারিত জানার জন্য নিম্নলিখিত নিবন্ধটি দেখুন।
একটি স্ট্রিং একটি সংখ্যা (চীনা সংখ্যা, ইত্যাদি সহ) কিনা তা নির্ধারণের বিশদ বিবরণের জন্য নিম্নলিখিত নিবন্ধটি দেখুন।