Adam Ebrahim نشر 3 يونيو 2021 أرسل تقرير نشر 3 يونيو 2021 أحاول أن أقوم بتحويل نص إلى رقم صحيح كالتالي: >>> x = "10.111 " >>> int(x) لكني أحصل على الخطأ التالي: Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '10.111 ' ثم حاول أن أقوم بإزالة المسافات الإضافية من النص كالتالي: >>> int(x.strip()) لكن تحدث نفس المشكلة وأحصل على نفس الخطأ، كيف أقوم بتحويل هذا النص إلى رقم صحيح؟ 1 اقتباس
0 Wael Aljamal نشر 4 يونيو 2021 أرسل تقرير نشر 4 يونيو 2021 لنحل المشكلة، إما نقتطع الجزء الأول من النص (ما قبل النقطة): x = "10.111" int(x.split('.')[0]) أو نقوم بعملية تحويل مزدوجة، من نص إلى float ثم إلى int: x = "10.111" int(float(x)) 2 اقتباس
1 سمير عبود نشر 4 يونيو 2021 أرسل تقرير نشر 4 يونيو 2021 السبب أن 10.111 هو عدد عشري في هيئة سلسلة نصية و ليس عدد صحيح فلو كان "10" يُمكنك إستخدام int مباشرة: x = "10" print(int(x)) # 10 بما أنه عشري يُمكنك إستخدام float لتحويله من نص إلى float ثم بإمكانك أخذ العدد الصحيح منه: x = "10.111 " print(int(float(x))) # 10 او إستخدام دوال math بالشكل الذي تريد مثال: import math x = "5.6" print(math.floor(float(x))) # 5 print(math.ceil(float(x))) # 6 2 اقتباس
السؤال
Adam Ebrahim
أحاول أن أقوم بتحويل نص إلى رقم صحيح كالتالي:
لكني أحصل على الخطأ التالي:
ثم حاول أن أقوم بإزالة المسافات الإضافية من النص كالتالي:
لكن تحدث نفس المشكلة وأحصل على نفس الخطأ، كيف أقوم بتحويل هذا النص إلى رقم صحيح؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.