Numbers and Strings
در C++ اعداد (int, double, …) و رشتهها (std::string) دو نوع دادهٔ متفاوت هستند؛
بنابراین برای تبدیل و ترکیب آنها باید از توابع و روشهای مخصوص استفاده کرد.
🟠 C++ Numbers and Strings
🔹 1. تبدیل عدد → رشته
برای چاپ یا الحاق عدد به متن، ابتدا عدد را به std::string
تبدیل کنید.
✅ ()to_string
(سادهترین راه)
()to_string
برایint
,double
,float
, … کار میکند.
✅ کنترل قالب با ostringstream
برای کنترل تعداد اعشار:
🔹 2. تبدیل رشته → عدد
وقتی کاربر ورودی متنی میدهد (مثلاً با cin
) و شما میخواهید آن را عددی پردازش کنید:
تابع | نوع خروجی |
---|---|
()stoi | int |
()stol | long |
()stoll | long long |
()stof | float |
()stod | double |
اگر رشته نامعتبر باشد، این توابع
std::invalid_argument
یاstd::out_of_range
پرتاب میکنند.
🔹 3. اتصال عدد و رشته
برای ساخت جملهای شامل عدد:
🔹 4. دریافت عدد به صورت رشته
اگر بخواهید ورودی کاربر را دقیقاً به همان صورت متنی داشته باشید (مثلاً با صفرهای ابتدایی):
✅ نکات مهم
-
بدون تبدیل مستقیم نمیتوانید
std::string
را با عدد جمع کنید ("Age: " + 25
❌). -
برای کنترل فرمت (تعداد اعشار، پیشوندها، …) از
<iomanip>
وostringstream
استفاده کنید. -
هنگام تبدیل رشته به عدد، خطاهای احتمالی (ورودی نامعتبر) را مدیریت کنید.
خلاصه
هدف | روش سریع |
---|---|
عدد → رشته | to_string(number) |
رشته عددی → int | stoi(str) |
رشته عددی → double | stod(str) |
کنترل قالب/اعشار | ostringstream + <iomanip> |
این تکنیکها به شما امکان میدهند در C++ بهراحتی بین اعداد و رشتهها جابهجا شوید و آنها را در یک برنامه با هم استفاده کنید.