بکندباز

تبدیل رشته به عدد در پایتون

در پایتون، برای تبدیل یک رشته به عدد، شما می‌توانید از توابع 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 رخ می‌دهد که نشان می‌دهد رشته ورودی قابل تبدیل به عدد نیست.

زمانی که رشته ورودی قابل تبدیل به عدد نباشد، می‌تواند خطاهای زیر رخ دهد:

  1. ValueError: این خطا رخ می‌دهد زمانی که رشته ورودی قابل تبدیل به عدد نیست. به عنوان مثال، اگر رشته شامل حروف الفبا یا نمادهای غیرعددی باشد، یا اگر رشته خالی باشد، خطا ValueError رخ می‌دهد. مثالی از این خطا به شکل زیر است:
    number_str = "abc"
    number_int = int(number_str)  # خطا ValueError: invalid literal for int()‎ with base 10: 'abc'
    
  2. 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'
  3. OverflowError: این خطا رخ می‌دهد زمانی که رشته عددی بسیار بزرگ است و قابل تبدیل به نوع داده مورد نظر نیست. به عنوان مثال، اگر رشته شامل یک عدد بسیار بزرگ باشد و شما سعی کنید آن را به عدد صحیح تبدیل کنید، خطا OverflowError رخ می‌دهد. مثالی از این خطا به شکل زیر است:
    number_str = "999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"
    number_int = int(number_str)  # خطا OverflowError: int too large to convert to float

اگر قصد دارید رشته را به عدد اعشاری تبدیل کنید، ممکن است خطاهایی مانند ValueError و TypeError نیز رخ دهد، اما خطاهای OverflowError در مورد اعداد صحیح بسیار بزرگ نداریم.

zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*