Menu
CoddyTech

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

جزء من قسم الأساسيات في رحلة 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"

عند تحويل عدد عشري مزدوج إلى سلسلة نصية باستخدام 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);  // سيؤدي هذا إلى ظهور خطأ

جرّب بنفسك

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

quiz iconاختبر نفسك

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

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

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