در پایتون، برای تبدیل یک رشته به عدد، شما میتوانید از توابع int()
، float()
، یا eval()
استفاده کنید. این توابع بر اساس نوع دادهای مورد نظرتان، رشته را به عدد تبدیل میکنند.
برای تبدیل یک رشته به عدد صحیح (integer)، از تابع int()
استفاده کنید. مثال زیر را در نظر بگیرید:
number_str = "1234"
number_int = int(number_str)
print(number_int) # خروجی: 1234
print(type(number_int)) # خروجی: <class 'int'>
در این مثال، رشته "1234"
را به عدد صحیح تبدیل میکنیم با استفاده از int(number_str)
و نتیجه را در متغیر number_int
ذخیره میکنیم. سپس مقدار number_int
را چاپ میکنیم و نوع داده آن را نمایش میدهیم.
اگر میخواهید رشته را به عدد اعشاری (float) تبدیل کنید، از تابع float()
استفاده کنید. مثال زیر را در نظر بگیرید:
number_str = "3.14"
number_float = float(number_str)
print(number_float) # خروجی: 3.14
print(type(number_float)) # خروجی: <class 'float'>
در این مثال، رشته "3.14"
را به عدد اعشاری تبدیل میکنیم با استفاده از float(number_str)
و نتیجه را در متغیر number_float
ذخیره میکنیم. سپس مقدار number_float
را چاپ میکنیم و نوع داده آن را نمایش میدهیم.
تابع eval()
همچنین میتواند استفاده شود تا یک رشته را به عدد تبدیل کند. اما توجه داشته باشید که استفاده از eval()
ممکن است خطرناک باشد زیرا اجازه میدهد تا کدهای قابل اجرا را در رشته اجرا کند. بنابراین، بهتر است از int()
یا float()
استفاده کنید مگر اینکه مطمئن باشید که رشته ورودی امن است.
مطمئن شوید که رشته ورودی شما قابل تبدیل به عدد است و دارای قالب درستی است. در غیر این صورت، خطاهایی مانند ValueError
رخ میدهد که نشان میدهد رشته ورودی قابل تبدیل به عدد نیست.
زمانی که رشته ورودی قابل تبدیل به عدد نباشد، میتواند خطاهای زیر رخ دهد:
- ValueError: این خطا رخ میدهد زمانی که رشته ورودی قابل تبدیل به عدد نیست. به عنوان مثال، اگر رشته شامل حروف الفبا یا نمادهای غیرعددی باشد، یا اگر رشته خالی باشد، خطا ValueError رخ میدهد. مثالی از این خطا به شکل زیر است:
number_str = "abc" number_int = int(number_str) # خطا ValueError: invalid literal for int() with base 10: 'abc'
- TypeError: این خطا رخ میدهد زمانی که نوع داده رشته ورودی برای تبدیل به عدد نامعتبر است. به عنوان مثال، اگر رشته شامل کاراکترهای غیرعددی باشد اما شما سعی کنید آن را به عدد صحیح تبدیل کنید، خطا TypeError رخ میدهد. مثالی از این خطا به شکل زیر است:
number_str = "3.14" number_int = int(number_str) # خطا TypeError: int() argument must be a string, a bytes-like object or a number, not 'float'
- OverflowError: این خطا رخ میدهد زمانی که رشته عددی بسیار بزرگ است و قابل تبدیل به نوع داده مورد نظر نیست. به عنوان مثال، اگر رشته شامل یک عدد بسیار بزرگ باشد و شما سعی کنید آن را به عدد صحیح تبدیل کنید، خطا OverflowError رخ میدهد. مثالی از این خطا به شکل زیر است:
number_str = "999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999" number_int = int(number_str) # خطا OverflowError: int too large to convert to float
اگر قصد دارید رشته را به عدد اعشاری تبدیل کنید، ممکن است خطاهایی مانند ValueError
و TypeError
نیز رخ دهد، اما خطاهای OverflowError
در مورد اعداد صحیح بسیار بزرگ نداریم.
دیدگاهها