Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تحويل الأنواع - الجزء الثاني

جزء من قسم 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);  // تصبح 123

String 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);  // سيؤدي هذا إلى إطلاق خطأ

ورقة مرجعية

قم بتحويل الأرقام إلى سلاسل نصية باستخدام std::to_string():

int number = 789;
string text = to_string(number);  // يصبح "789"

يُظهر تحويل الأرقام العشرية (doubles) 6 خانات عشرية افتراضياً:

double n = 789.5;
string text = to_string(n);  // يصبح "789.500000"

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

string numberText = "123";
int number = stoi(numberText);  // يصبح 123

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

string decimalText = "45.67";
double decimal = stod(decimalText);  // يصبح 45.67

ملاحظة: سيؤدي تحويل السلاسل النصية غير الصالحة إلى أرقام إلى حدوث خطأ.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals