Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как преобразовать тип double в string на Dev C++?Может есть ф-ция или спец. процедура?

Faridun Marufi Ученик (156), закрыт 10 лет назад
Вот скрины того что я сделал:
n=8;
1) объявил библиотеку string;
2) объявил 2 массива типа string;
3) приравнял 2 вещественных массива в строковые;
4) печать (вывод рез-та);
5) И долгожданный "Прекращение работы программы". И так каждый раз когда использую string.
Дополнен 10 лет назад
Мне необходимо вывести результат! ВЫВОД, ПЕЧАТЬ.
Дополнен 10 лет назад
1) У меня массив (одномерный) строкового типа;
2) string(d) - не подходит я уже делал, может из-за того что массив, а не число;
3) Всёравно та же ошибка!
Лучший ответ
. Ученик (0) 10 лет назад
Никак, у дабл не хватает разрядности, чтобы хранить столько значащих цифр.

Юзайте тип decimal, у него меньше диапазон допустимых значений, но больше значащих цифр.
Faridun MarufiУченик (156) 10 лет назад
decimal не подходит, даёт ошибку, скорее из-за того что тип не введён в компилятор. Не запускается. Какой ещё тип есть для вещ. числа кот-ый даёт больше ячеек чем double.
Остальные ответы
Ирина Королькова Знаток (266) 10 лет назад
Можно использовать 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();
Удачи в изучении
Ирина КорольковаЗнаток (266) 10 лет назад
То что после include, нужно поставить в скобки <>
Duality Просветленный (29400) 10 лет назад
double d {2.3};
std::string s = std::to_string(d);

std::to_string в хедере string определен.
kaiu Высший разум (120238) 10 лет назад
А проверь такую программу у себя, пойдет ли.

#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;
}
Faridun MarufiУченик (156) 10 лет назад
Я немного модифицировал программный код (П. К.) под себя:
strs1<<x[i];
strs2<<y[i];
Вроде бы получилось и в то же время не получилось, результат вышел но ошибка тоже вышла! Чё делать?
P.S.
П. К. составлен на Dev C++ да?, 100% совместимость, программный код не дал сбоя.
kaiu Высший разум (120238) У меня дев тоже, но может у тебя запуск не от админа, да права... хотя странно это, что прекращает работу так
Похожие вопросы