كيفية تحويل النصوص إلى أرقام عشرية باستخدام دالة float() في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 20 سبتمبر 2024

محتوى المقال

كيفية تحويل النصوص إلى أرقام عشرية باستخدام دالة float() في Python

في لغة البرمجة Python، قد نحتاج في كثير من الأحيان إلى تحويل النصوص التي تمثل أرقامًا إلى أرقام عشرية (float). دالة float() توفر طريقة بسيطة وفعالة لتحويل النصوص إلى أرقام عشرية. في هذا المقال، سنستعرض كيفية استخدام دالة float() لتحويل النصوص إلى أرقام عشرية، مع تقديم أمثلة عملية لتوضيح الاستخدامات المختلفة.

ما هي دالة float()؟

دالة float() هي دالة مدمجة في Python تُستخدم لتحويل كائنات مختلفة إلى أرقام عشرية (floats). هذه الدالة مفيدة لتحويل النصوص التي تحتوي على أرقام إلى نوع الأرقام العشرية، كما يمكن استخدامها لتحويل الأعداد الصحيحة (integers) إلى أرقام عشرية.

الصيغة العامة للدالة هي:

float(x)

حيث x هو الكائن الذي ترغب في تحويله إلى رقم عشري. يمكن أن يكون هذا الكائن نصًا يمثل رقمًا عشريًا أو عددًا صحيحًا.

تحويل النصوص إلى أرقام عشرية باستخدام float()

يمكنك استخدام دالة float() لتحويل النصوص التي تحتوي على أرقام صحيحة أو عشرية إلى قيم عشرية. دعونا نبدأ بأبسط مثال.

مثال 1: تحويل نص إلى رقم عشري

لنقم بتحويل نص يحتوي على رقم عشري إلى نوع float:

decimal_number = float("123.45")
print(decimal_number)
# الناتج: 123.45

في هذا المثال، تم تحويل النص "123.45" إلى الرقم العشري 123.45.

مثال 2: تحويل نص يحتوي على رقم صحيح

دالة float() يمكنها أيضًا تحويل النصوص التي تحتوي على أرقام صحيحة إلى أرقام عشرية:

integer_number = float("100")
print(integer_number)
# الناتج: 100.0

في هذا المثال، تم تحويل النص "100" إلى الرقم العشري 100.0.

تحويل الأعداد الصحيحة والعشرية باستخدام float()

دالة float() يمكنها تحويل الأعداد الصحيحة والعشرية إلى أرقام عشرية بسهولة. دعونا نرى بعض الأمثلة.

مثال 3: تحويل عدد صحيح إلى رقم عشري

يمكنك استخدام float() لتحويل الأعداد الصحيحة إلى أرقام عشرية:

number = float(10)
print(number)
# الناتج: 10.0

في هذا المثال، تم تحويل العدد الصحيح 10 إلى الرقم العشري 10.0.

مثال 4: تحويل عدد عشري إلى عدد عشري

إذا حاولت استخدام float() مع عدد عشري بالفعل، فلن يتغير شيء، وسيظل العدد عشريًا:

number = float(45.67)
print(number)
# الناتج: 45.67

في هذا المثال، لم يحدث أي تغيير لأن الرقم كان بالفعل عشريًا.

التعامل مع النصوص غير الصالحة للتحويل

في بعض الأحيان، قد تحاول تحويل نص غير صالح إلى رقم عشري باستخدام float()، مما سيؤدي إلى حدوث خطأ ValueError. دعونا نرى ما يحدث إذا حاولنا تحويل نص غير رقمي.

مثال 5: خطأ في التحويل

لنرى ماذا يحدث عند محاولة تحويل نص يحتوي على أحرف غير رقمية:

try:
    number = float("123abc")
    print(number)
except ValueError as e:
    print("خطأ في التحويل:", e)
# الناتج: خطأ في التحويل: could not convert string to float: '123abc'

في هذا المثال، حاولنا تحويل النص "123abc" الذي يحتوي على أحرف غير رقمية، مما أدى إلى حدوث استثناء ValueError لأن النص غير صالح للتحويل إلى عدد عشري.

التعامل مع الأخطاء باستخدام try-except

لتجنب توقف البرنامج عند حدوث خطأ أثناء تحويل النصوص إلى أرقام عشرية، يمكنك استخدام كتلة try-except للتعامل مع الأخطاء بطريقة مرنة.

مثال 6: التعامل مع الأخطاء باستخدام try-except

لنقم بإنشاء دالة لتحويل النصوص إلى أرقام عشرية بأمان:

def safe_float_conversion(text):
    try:
        return float(text)
    except ValueError:
        return "النص غير صالح للتحويل إلى رقم عشري"

print(safe_float_conversion("123.45"))
# الناتج: 123.45

print(safe_float_conversion("123abc"))
# الناتج: النص غير صالح للتحويل إلى رقم عشري

في هذا المثال، أنشأنا دالة لتحويل النصوص إلى أرقام عشرية بأمان. إذا كان النص غير صالح للتحويل، يتم إرجاع رسالة بدلاً من حدوث خطأ.

تحويل القيم المنطقية (Boolean) إلى أرقام عشرية

يمكنك أيضًا تحويل القيم المنطقية True و False إلى أرقام عشرية باستخدام float():

مثال 7: تحويل True و False إلى أرقام عشرية

لنقم بتحويل القيم المنطقية إلى أرقام عشرية:

print(float(True))
# الناتج: 1.0

print(float(False))
# الناتج: 0.0

في هذا المثال، تم تحويل True إلى 1.0 وFalse إلى 0.0.

تحويل القيم None والقوائم إلى أرقام عشرية

لا يمكن تحويل القيم مثل None والقوائم (lists) إلى أرقام عشرية باستخدام float()، وسيؤدي ذلك إلى حدوث خطأ.

مثال 8: محاولة تحويل None

لنرى ماذا يحدث عند محاولة تحويل None إلى رقم عشري:

try:
    print(float(None))
except TypeError as e:
    print("خطأ في التحويل:", e)
# الناتج: خطأ في التحويل: float() argument must be a string or a number, not 'NoneType'

في هذا المثال، حاولنا تحويل None إلى رقم عشري، ولكن دالة float() لا تقبل ذلك، مما أدى إلى حدوث خطأ TypeError.

الخلاصة

دالة float() في Python هي أداة قوية لتحويل النصوص التي تمثل أرقامًا إلى أرقام عشرية، وكذلك لتحويل الأعداد الصحيحة إلى أرقام عشرية. توفر الدالة وسيلة مرنة وفعالة للتعامل مع الأرقام العشرية في Python. ولكن يجب الانتباه إلى أن النصوص غير الصالحة أو القيم التي لا يمكن تحويلها مثل None ستؤدي إلى حدوث خطأ، لذلك من المهم التعامل مع الأخطاء باستخدام try-except.

طور مهاراتك: مقالات يجب قراءتها في البرمجة