Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
nill
10 / 10 / 2
Регистрация: 16.08.2009
Сообщений: 417
1

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

11.04.2010, 05:30. Просмотров 4032. Ответов 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
Ответы с готовыми решениями:

C++: как преобразовать double в string?
Например, вычисляем значение 22/7 с точностью до 10 знаков после запятой: ...

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

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

Как правильно число в ячейке типа string, перекинуть в ячейку в тип double ?
Cуть вопроса описанна в теме. Может не правильно объяснил, но всё же, вот...

Преобразовать double в string
Подскажите как преобразовать double в string ?? Нашел что то похожее при...

6
gh05t
48 / 47 / 25
Регистрация: 03.04.2010
Сообщений: 100
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/550915-how-do-i-convert-float-string
1
nill
10 / 10 / 2
Регистрация: 16.08.2009
Сообщений: 417
11.04.2010, 06:26  [ТС] 3
тут же тип char, а мне нужен только string
0
gh05t
48 / 47 / 25
Регистрация: 03.04.2010
Сообщений: 100
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 / 10
Регистрация: 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
10 / 10 / 2
Регистрация: 16.08.2009
Сообщений: 417
11.04.2010, 07:26  [ТС] 6
спасибо все работает!

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

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

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

Error C2440: =: невозможно преобразовать 'std::string' в 'double'
&gt;c:\users\nreshetova\documents\visual studio...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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