تحويل الأنواع - الجزء الثاني
جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 15 من 74.
في لغة ++C، يمكننا تحويل الأرقام إلى سلاسل نصية والعكس صحيح. لتحويل قيمة إلى سلسلة نصية، يمكننا استخدام الدالة std::to_string():
int number = 789;
bool isValid = true;
string text1 = to_string(number); // تصبح "789"
string text2 = isValid ? "true" : "false"; // تصبح "true"عندما تقوم بتحويل double إلى string باستخدام to_string()، فإنه سيظهر افتراضياً 6 خانات عشرية، حتى لو لم يكن الرقم الأصلي يحتوي على هذا العدد من الخانات العشرية.
على سبيل المثال:
double n1 = 789.0;
string text1 = to_string(n1);
// تصبح "789.000000"
double n2 = 789.5;
string text2 = to_string(n2);
// تصبح "789.500000"
double n3 = 789.123;
string text3 = to_string(n3);
// تصبح "789.123000"لتحويل سلسلة نصية إلى نوع مختلف، لدينا عدة خيارات:
تحويل السلسلة النصية إلى عدد صحيح (String to Integer):
string numberText = "123";
int number = stoi(numberText); // تصبح 123String to Double:
string decimalText = "45.67";
double decimal = stod(decimalText); // تصبح 45.67ملاحظة: عند تحويل السلاسل النصية إلى أرقام، تقرأ هذه الدوال أكبر عدد ممكن من الأحرف الصالحة من بداية السلسلة النصية. وهي لا تطلق خطأً إلا إذا بدأت السلسلة النصية بحرف غير صالح:
string validStart = "42abc";
int number = stoi(validStart); // تصبح 42 (يتم تجاهل الأحرف اللاحقة)
string invalidStart = "abc";
int number2 = stoi(invalidStart); // سيؤدي هذا إلى إطلاق خطأجرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني