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

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

جزء من قسم الأساسيات في رحلة 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()، سيعرض will افتراضيًا 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 إلى نوع مختلف، لدينا عدة خيارات:

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);  // هذا سيرمي خطأً

جرّب بنفسك

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

quiz iconاختبر نفسك

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

جميع دروس الأساسيات

تدرّب بنفسك: مترجم C++ عبر الإنترنت