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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.68
Michey25
5 / 5 / 0
Регистрация: 15.04.2010
Сообщений: 130
26.10.2010, 16:02     Как преобразовать string в double и обратно? #1
нашел функцию atof но не хочет запускаться. сам начеркал функцию для перевода в double но обратно чет даже идей нет.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
26.10.2010, 16:25     Как преобразовать string в double и обратно? #2
стринг есть функция c_str(), которая возвращает указатель на хранилище данных, его и юзай для перевода
oxotnik
 Аватар для oxotnik
1584 / 1061 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
26.10.2010, 16:27     Как преобразовать string в double и обратно? #3
std::stringstream
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.10.2010, 17:14     Как преобразовать string в double и обратно? #4
В 10-ой студии есть новые функции для этого, скорее всего из нового стандарта.

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
int main()
{
    std::string Str="10.12";
    double d=std::stod(Str);
    std::cout<<d<<'\n';
    std::string String=std::to_string(static_cast<long double>(d));
    std::cout<<String<<'\n';
    std::cin.get();
    return 0;
}
and
 Аватар для and
20 / 20 / 1
Регистрация: 12.05.2009
Сообщений: 43
26.10.2010, 20:25     Как преобразовать string в double и обратно? #5
Можно воспользоваться что то вроде потока:
C++
1
2
3
double pi = 0.0;
char str[] = "3.14";
sscanf(str, "%f" , &pi);
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.10.2010, 09:20     Как преобразовать string в double и обратно? #6
Michey25, с использованием boost::lexical_cast:
C++
1
2
3
4
5
6
#include <boost/lexical_cast.hpp>
 
// ...
std::string s = boost::lexical_cast<std::string>(1.5);
double      d = boost::lexical_cast<double>     (s);
// ...
Yandex
Объявления
27.10.2010, 09:20     Как преобразовать string в double и обратно?
Ответ Создать тему
Опции темы

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