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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 143, средняя оценка - 4.62
limelight
7 / 7 / 0
Регистрация: 17.04.2010
Сообщений: 112
#1

Преобразовать double в string - C++

29.05.2010, 00:10. Просмотров 18267. Ответов 9
Метки нет (Все метки)

Подскажите как преобразовать double в string ??

Нашел что то похожее при помощи ostringstream , но там не совсем то..

Преобразование string в double реализовал следующим образом:

C++
1
    double val  = atof(stroka.c_str());
, где stroka - объект класса string. Правильно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
НеПродюссер
 Аватар для НеПродюссер
32 / 20 / 3
Регистрация: 05.03.2010
Сообщений: 51
29.05.2010, 00:13     Преобразовать double в string #2
если решил из double в string, тогда по логике функция будет называться ftoa(stroka, ());

и переменную объяви от греха подальше как float val =)
limelight
7 / 7 / 0
Регистрация: 17.04.2010
Сообщений: 112
29.05.2010, 00:22  [ТС]     Преобразовать double в string #3
мда.
переменная у меня объявлена правильно. а функции, что вы привели для примера, не существует.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
29.05.2010, 00:26     Преобразовать double в string #4
Цитата Сообщение от limelight Посмотреть сообщение
Нашел что то похожее при помощи ostringstream , но там не совсем то..
В каком смысле?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
    
int main(){
    double d;
    
    std::cout << "Double value: ";
    std::cin >> d;
    std::ostringstream ost;
    ost << d;
    std::cout << "As string: " << ost.str() << std::endl;
    
    return 0;
}
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
29.05.2010, 00:28     Преобразовать double в string #5
std::istringstream(stroka) >> val;
limelight
7 / 7 / 0
Регистрация: 17.04.2010
Сообщений: 112
29.05.2010, 00:59  [ТС]     Преобразовать double в string #6
easybudda, спасибо! Где можно подробно почитать по поводу потоков чтобы как следует разобраться в этом?
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
29.05.2010, 01:07     Преобразовать double в string #7
Цитата Сообщение от limelight Посмотреть сообщение
Где можно подробно почитать по поводу потоков чтобы как следует разобраться в этом?
Вот тут например. Хотелось бы подробнее, да некуда! Правда, не по-русски...
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
23.10.2013, 17:52     Преобразовать double в string #8
Вот написал как вы посоветовали...
C++
1
2
3
4
5
6
7
8
string IntToStr(double Val)
{      
    string result;
    std::ostringstream ost;
    ost << Val;
    result = ost.str();
    return result;
}
Работает! Но есть одно но почему то возвращает только 8 знаков не больше подскажите пожалуйста как исправить.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
23.10.2013, 18:10     Преобразовать double в string #9
std::to_string
http://en.cppreference.com/w/cpp/str...ring/to_string
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 18:10     Преобразовать double в string
Еще ссылки по теме:

Преобразовать 2 числа int в 1 число float(double) | double int1.int2 C++
C++ C2440 "Невозможно преобразовать double в double"
C++ C++: как преобразовать double в string?
Как преобразовать char* в string и вывести переменную string на экран? C++
Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
23.10.2013, 18:10     Преобразовать double в string #10
Цитата Сообщение от Alex_Skripa Посмотреть сообщение
Но есть одно но почему то возвращает только 8 знаков не больше подскажите пожалуйста как исправить.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <sstream>
#include <iomanip>
 
int main() {
    std::ostringstream ost;
    ost << std::fixed << std::setprecision(20) << ( 22.0 / 7.0 );
    std::cout << ost.str() << std::endl;
    return 0;
}
Yandex
Объявления
23.10.2013, 18:10     Преобразовать double в string
Ответ Создать тему
Опции темы

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