Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.79
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
#1

Как преобразовать тип double в string - C++

11.04.2010, 05:30. Просмотров 3835. Ответов 6
Метки нет (Все метки)

Есть переменная типа double нужно ее преобразовать в тип string
Как это можно сделать наиболее простым способом используя стандартные средства C++

например
C++
1
2
string Y;
double X=555.555;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2010, 05:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как преобразовать тип double в string (C++):

C++: как преобразовать double в string? - C++
Например, вычисляем значение 22/7 с точностью до 10 знаков после запятой: #include <iostream> #include <windows.h> using namespace...

Как преобразовать string в double и обратно? - C++
нашел функцию atof но не хочет запускаться. сам начеркал функцию для перевода в double но обратно чет даже идей нет.

Не могу преобразовать тип char в тип double - C++
Вся загвоздка в str1 и str2; #include "stdafx.h" #include "conio.h" #include"stdlib.h" #include "cstdlib" #include <iostream> ...

Как правильно число в ячейке типа string, перекинуть в ячейку в тип double ? - C++
Cуть вопроса описанна в теме. Может не правильно объяснил, но всё же, вот пример: #include <iostream> #include <string> ...

Преобразовать double в string - C++
Подскажите как преобразовать double в string ?? Нашел что то похожее при помощи ostringstream , но там не совсем то.. ...

Преобразовать string^ в double - C++
Есть старая программа на c++, написанная в среде MS VS2010 с использование WinForm, и, как следствие .Net Появилась проблема с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gh05t
48 / 47 / 4
Регистрация: 03.04.2010
Сообщений: 99
11.04.2010, 06:15 #2
C++
1
2
3
4
5
6
7
8
9
int main()
{
    char* str = new char[30];
 
    float flt = 2.4567F;
    sprintf(str, "%.4g", flt );    
    cout<<str<<endl;
    return 0;
}
http://bytes.com/topic/c/answers/550...t-float-string
1
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
11.04.2010, 06:26  [ТС] #3
тут же тип char, а мне нужен только string
0
gh05t
48 / 47 / 4
Регистрация: 03.04.2010
Сообщений: 99
11.04.2010, 06:53 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <sstream>
 
int main()
{
    char szbuff[255];
    string Y;
    double X=555.555;
    sprintf(szbuff, "%.4g", X);
    stringstream ss;
    ss << szbuff;
    ss >> Y;
    return 0;
}
1
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
11.04.2010, 07:06 #5
gh05t, а зачем еще какие-то потоки...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    char szbuff[255];
    string Y;
    double X = 555.555;
    sprintf(szbuff, "%.7g", X);
    Y = szbuff;
    cout << Y;
    system("pause");
    return 0;
}
1
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
11.04.2010, 07:26  [ТС] #6
спасибо все работает!

gh05t, Demihalf,
А что значит 7g или 4g на что это влияет?
0
gh05t
48 / 47 / 4
Регистрация: 03.04.2010
Сообщений: 99
11.04.2010, 07:50 #7
4 и 7 - количество знаков для отображения числа, g - определяет тип преобразуемой величины. Здесь весь список определителей:
http://www.cplusplus.com/reference/c...stdio/sprintf/
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2010, 07:50
Привет! Вот еще темы с ответами:

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double - C++
Думаю из-за polp #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt; using namespace std; double polp(double af,double...

Error C2440: =: невозможно преобразовать 'std::string' в 'double' - C++
&gt;c:\users\nreshetova\documents\visual studio 2008\projects\sort3d1\sort3d1\sort3d1.cpp(73) : error C2440: =: невозможно преобразовать...

Как сконвертировать свой тип в тип double? - C++
Можно ли конвертировать свой тип в тип doble? Если да, то каким способом?

Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &' - C++
#include &lt;iostream&gt; #include &lt;stack&gt; #include &lt;sstream&gt; #include &lt;string&gt; using namespace std; int main() { string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.04.2010, 07:50
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru