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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 143, средняя оценка - 4.62
limelight
7 / 7 / 0
Регистрация: 17.04.2010
Сообщений: 112
29.05.2010, 00:10     Преобразовать double в string #1
Подскажите как преобразовать 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
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
Еще ссылки по теме:

C++ C2440 "Невозможно преобразовать double в double"
C++ C++: как преобразовать double в string?
Как преобразовать char* в string и вывести переменную string на экран? C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
Ответ Создать тему
Опции темы

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