PDA

View Full Version : تبدیل عدد به رشته در c++



JavadAmeri
جمعه 23 خرداد 1393, 18:22 عصر
سلام علیکم
چطوری میتونم یک عدد رو به رشته تبدیل کنم؟
این توابع هم جواب نداد.
stoi
num2str
to_string

JavadAmeri
شنبه 24 خرداد 1393, 10:53 صبح
هیچکی جواب نمیده؟

کامبیز اسدزاده
شنبه 24 خرداد 1393, 11:18 صبح
سلام علیکم
چطوری میتونم یک عدد رو به رشته تبدیل کنم؟
این توابع هم جواب نداد.
stoi
num2str
to_string


هیچکی جواب نمیده؟

فرصت بدین یکی سوالتون رو بخونه...
در تاپیک های قبلی هم جوابشو دادیم دقت نکردین...

http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c
http://stackoverflow.com/questions/5290089/how-to-convert-a-number-to-string-and-vice-versa-in-c
http://www.cplusplus.com/reference/string/to_string/

JavadAmeri
یک شنبه 25 خرداد 1393, 14:14 عصر
این ها نیاز به فایل سرآیند نداره؟

amirtork
یک شنبه 25 خرداد 1393, 14:52 عصر
سلام
دوست عزیز احتمالا شما با مفهوم کد های اسکی آشنا هستید. رشته یا همون string در واقع همون کد های اسکی هستند که هنگام چاپ به صورت معادل کاراکتریشون ذخیره میشن.
حالا اگر شما به جدول کد های اسکی نگاه کنید میبینید کد اسکی عدد 0 و یا در واقع کاراکتر '0' 48 هست. و کد اسکی کاراکتر '1' 49 و به همین منوال ادامه داره. به همین دلیل برای تبدیل اعداد به کاراکتر معادلشون تنها کافی هست اون عدد رو با کد اسکی کاراکتر '0' جمع کنیم و بعد وارد رشته کنیمشون.
امیدوارم متوجه شده باشید.

محمد فدوی
یک شنبه 25 خرداد 1393, 14:58 عصر
تابع استاندارد C برای اینکار sprintf هستش که باش میتونی هر عددی رو به رشته تبدیل کنی:
۱. تبدیل عدد صحیح به رشته:

int anIntegr = 1393;
char str[30];
sprintf(str, "%d", anInteger);

حالا عدد 1393 بصورت یک رشته توی str هست...


۲. برای تبدیل عدد اعشاری به رشته:


float aFloat = 3.1415;
char str[30];
sprintf(str, "%f", aFloat);

اینم مثل قبلی!
برای استفاده از این تابع هم باید <stdio.h> رو include کنی.

برای اطلاعات بیشتر در مورد این تابع، اینجا (http://www.cplusplus.com/reference/cstdio/sprintf/) رو ببین.




در تاپیک های قبلی هم جوابشو دادیم دقت نکردین...

آره عزیز. منم یادم نبود! جوادجان این سوال اولا با یه سرچ کوچیک حل میشد. ثانیا قبلا به خودتم پاسخش داده شده بود.

JavadAmeri
یک شنبه 25 خرداد 1393, 17:16 عصر
ممنون من یک سولا دیگه هم داشتم.دیگه یه تاپیک جدید نمیسازم.می دونید که تابع strcat کار اتصال رشته ها رو انجام میده.ولی بدیش اینه که داخل ورودیش تابع نمیگیره.باید چیکار کنم؟:متفکر:
تابع تو در تو هستش


string m(int d)
{
...
strcat(m(d-5),"string")//error dare
...
}

محمد فدوی
دوشنبه 26 خرداد 1393, 00:22 صبح
تابع strcat (http://www.cplusplus.com/reference/cstring/strcat/) دوتا آرگومان از نوع *char میگیره (و نه *const char! یعنی ما حق نداریم مقدار ثابت "string" رو به این تابع پاس کنیم). اولی destination و دومی source و مقادیر source رو در ادامه destination قرار میده. مقدار برگشتی این تابع هم همون destination هست. اینکه آیا توی destination جای کافی وجود داره یا نه رو شما باید چک کنی. مثلا این کد باید درست اجرا بشه:

char first[30] = "Hello";
char second[30] = " World!";

strcat(first, second);
// Now first is "Hello World!"