


Как преобразовать тип double в string на Dev C++?Может есть ф-ция или спец. процедура?
Вот скрины того что я сделал:
n=8;
1) объявил библиотеку string;
2) объявил 2 массива типа string;
3) приравнял 2 вещественных массива в строковые;
4) печать (вывод рез-та);
5) И долгожданный "Прекращение работы программы". И так каждый раз когда использую string.
Мне необходимо вывести результат! ВЫВОД, ПЕЧАТЬ.
1) У меня массив (одномерный) строкового типа;
2) string(d) - не подходит я уже делал, может из-за того что массив, а не число;
3) Всёравно та же ошибка!
Никак, у дабл не хватает разрядности, чтобы хранить столько значащих цифр.
Юзайте тип decimal, у него меньше диапазон допустимых значений, но больше значащих цифр.
смотри:
atof()
printf()
сout
А проверь такую программу у себя, пойдет ли.
#include < iostream > // лишние пробелы убрать
#include < sstream >
#include < cstdlib >
#include < cstring >
using namespace std;
int main()
{
char buffer[32];
const int n = 10;
string a[n], b[n];
for(int i=0; i<n; i++)
{
ostringstream strs1, strs2;
strs1 << (double)(rand() % 100);
strs2 << (double)(rand() % 100);
a[i] = strs1.str();
b[i] = strs2.str();
cout << a[i] << " : " << b[i] << endl;
}
system("pause");
return 0;
}
double d {2.3};
std::string s = std::to_string(d);
std::to_string в хедере string определен.
Можно использовать Boost.LexicalCast
#include boost/lexical_cast.hpp
#include string
double d = 453.23;
std::string str = boost::lexical_cast(d);
Либо классический путь
#include sstream
#include string
double d = 453.23;
std::ostringstream os;
os << d;
std::string str = os.str();
Удачи в изучении