PDA

View Full Version : سوال: تبدیل عدد اعشاری به رشته



kamran_14
یک شنبه 26 آذر 1391, 09:38 صبح
سلام خسته نباشید
چطوری در c یه عدد اعشاری رو به رشته تبدیل کنم؟ آیل تابع آماده ای برای اینکار هس؟

بهروز عباسی
یک شنبه 26 آذر 1391, 09:48 صبح
درود
لینک زیرو ببین
Decimal to Char Conversion (http://msdn.microsoft.com/en-us/library/aa326753%28v=vs.71%29.aspx)


http://www.cplusplus.com/articles/D9j2Nwbp/

موفق باشید

H_G_G_I
یک شنبه 26 آذر 1391, 09:59 صبح
char l_chars[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
sprintf(l_chars, "%f", 123.122f);
std::cout << l_chars;

با sprintf میشه !

H_G_G_I
یک شنبه 26 آذر 1391, 10:02 صبح
char l_chars[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
sprintf(l_chars, "%f", 123.122f);
std::cout << l_chars;

با sprintf میشه !

kamran_14
یک شنبه 26 آذر 1391, 11:25 صبح
چرا وقتی با sprintf یک عدد اعشاری رو به رشته تبدیل می کنم اون رشته ی بدست اومده دقیقا اون عدداعشاری که من دادم نمی شه مثلا صفرهای بعد ممیز هم چاپ می شه یا تعداد ارقام بعد ممیز زیاد می شه

omidshaman
یک شنبه 26 آذر 1391, 11:33 صبح
نیازی به sprintf نیست C++‎‎‎‎ برای این چیزا هدر داره...

#include <sstream>
#include<iostream>
using namespace std;
int main()
{
double i = 5313.3112;
std::string s;
std::stringstream out;
out <<fixed<< i;
s = out.str();
cout<<s;
}

این تا 6 رقم بعد ممیز میریزه تو string یعنی 2 تا 0 بیشتر حالا اگر بخوای 4 رقم بریزی باید از روشی که دیروز بهت گفتم استفاده کنی
نمایش تا 2 رقم اعشار در C++‎‎‎ (http://barnamenevis.org/showthread.php?373762-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AA%D8%A7-2-%D8%B1%D9%82%D9%85-%D8%A7%D8%B9%D8%B4%D8%A7%D8%B1-%D8%AF%D8%B1-c)