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

Из Char в Double - C++

Восстановить пароль Регистрация
 
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
07.02.2013, 11:34     Из Char в Double #1
Здравствуйте, не подскажет ли кто , как можно массив char переделать в double
Например:
char[4]={'0' , ',' , '5555'}
double x=0.0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 11:34     Из Char в Double
Посмотрите здесь:

как перевести double в char? C++
Преобразование из char в double C++
C++ Перевод double в char
C++ char в double
long double и char C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StasGamilton
Эксперт по пяченькам
 Аватар для StasGamilton
67 / 67 / 1
Регистрация: 16.08.2011
Сообщений: 258
07.02.2013, 12:12     Из Char в Double #2
С помощью функции atof:
C++
1
double atof ( const char * str );
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main() {
   
   char m[4]={'0' , '.' , '5555'};
   double x=0.0; 
   
   x = atof(m);
   
   std::cout  << x << "\n";
}
Только целая часть должна отделяться от дробной точкой, а не запятой.

Добавлено через 7 минут
И еще char должен состоять из одного символа ('\0', '\n' и т.д. - в итоге дают один символ, также как и 'a'). Запись '5555' у меня считывает как просто '5'.
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
07.02.2013, 12:30  [ТС]     Из Char в Double #3
Цитата Сообщение от StasGamilton Посмотреть сообщение
С помощью функции atof:
Спасибо) а как теперь сделать наоборот из double в char ?)
StasGamilton
Эксперт по пяченькам
 Аватар для StasGamilton
67 / 67 / 1
Регистрация: 16.08.2011
Сообщений: 258
07.02.2013, 12:53     Из Char в Double #4
С лету могу дать громоздкий и не очень хороший (ИМХО) способ с помощью stringstream:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <sstream>    // подключаем stringstream
 
int main() {
   
   char* m;
   double x = 5.34;
   
   std::stringstream streamData;    // переменная потока
   
   streamData << x;   // записываем в поток double
   
   m = (char*)streamData.str().c_str(); // Сначала переводим в std::string, потом из него const char*, который приводим к char*
   
   std::cout << m << std::endl;
   
   
   return 0;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
07.02.2013, 15:01     Из Char в Double #5
Цитата Сообщение от StasGamilton Посмотреть сообщение
char m[4]={'0' , '.' , '5555'};
Это не массив char
Цитата Сообщение от ZubSam Посмотреть сообщение
char[4]={'0' , ',' , '5555'}
Это не массив char
Цитата Сообщение от StasGamilton Посмотреть сообщение
И еще char должен состоять из одного символа
Ой! Уже заметили!
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
07.02.2013, 15:02  [ТС]     Из Char в Double #6
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Это не массив char
а что тогда?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 15:03     Из Char в Double
Еще ссылки по теме:

C++ Конструктор double to char
Перевод int и double в char* C++
C++ Перевод из double в char

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
07.02.2013, 15:03     Из Char в Double #7
Цитата Сообщение от ZubSam Посмотреть сообщение
а что тогда?)
Понятия не имею. Попробуй скомпилировать.
char m[4]; Объявляет массив из 4х char
А инициализируется этот массив каким-то бредом.
C++
1
char[4]={'0' , ',' , '5555'};
Вроде не строками - строки в двойных кавычках,
Вроде не char'ами- константы char состоят из одного символа ASCII
Yandex
Объявления
07.02.2013, 15:03     Из Char в Double
Ответ Создать тему
Опции темы

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