С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.86
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
#1

Преобразовать строку в float - C++

25.10.2009, 23:09. Просмотров 3823. Ответов 10
Метки нет (Все метки)

Итак у меня есть переменная Char. В ней записано '5.2'. И есть переменная float. Как мне поместить 5.2 в переменную типа float ?
Типа функции в VB (a=Val(Text1.Text))...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2009, 23:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать строку в float (C++):

Преобразовать из float в string - C++
Скажите, пжл, какие существуют ф-ии для конвертации из float в string?

Преобразовать указатель в float - C++
допустим есть такая структура struct lol { int a; float b; } ololo; ololo.a = 34; ololo.b = 2.5; wchar_t *pt...

Преобразовать string в float - C++
Привет! Подскажите, пожалуйста, наиболее простой способ, как преобразовать значение типа string в float.

Ошибка. Невозможно преобразовать CString в float - C++
Здравствуйте! Программа заключается в следующем - пользователь добавляет в EditControl данные, нажимает на ОК, и эти данные попадают в...

опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing - C++
#include<stdio.h> #include<stdlib.h> #include<math.h> float f1(float x)/*vira*enie 1*/ {return (x*cos(x))/(1+ pow(x,2));} ...

На входе дробное число, которое надо преобразовать во float - C++
Здравствуйте, столкнулся со следующей проблемой: на входе дробное число которое читается из потока посимвольно (состоит из 3 знаков 3.2 ...

10
kravam
быдлокодер
1703 / 890 / 45
Регистрация: 04.06.2008
Сообщений: 5,489
25.10.2009, 23:16 #2
Можно полюбопытствовать, как переменной типа char ты присвоил значение 5.2?
0
XuTPbIu_MuHTAu
Эксперт С++
2227 / 742 / 10
Регистрация: 27.05.2008
Сообщений: 1,498
25.10.2009, 23:25 #3
Neonjke, я так понимаю,у тебя есть строка с записанным числом? Если лень изобретать велосипед,используй sscanf();
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
25.10.2009, 23:31 #4
Neonjke, может ты имеешь ввиду об указателе на символьный тип char*. Ибо просто char - это целочисленный тип, в пределах от -128 до 127

Добавлено через 2 минуты
Как написал выше XuTPbIu_MuHTAu можно использовать sscanf() - true way. а можно использовать функцию по проще - atof() .
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
25.10.2009, 23:48 #5
Цитата Сообщение от kravam Посмотреть сообщение
Можно полюбопытствовать, как переменной типа char ты присвоил значение 5.2?


Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
используй sscanf();
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
а можно использовать функцию по проще - atof()
Но правильней будет:
C++
1
2
3
4
5
6
template<typename In, typename Out> Out convert(const In& v) {
    Out result;
    std::stringstream ss;
    ss << v; ss >> result;
    return result;
}
0
M128K145
Эксперт С++
8300 / 3520 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
26.10.2009, 08:23 #6
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Ибо просто char - это целочисленный тип, в пределах от -128 до 127
если не ошибаюсь, то char по умолчанию unsigned и значения у него 0 - 256
0
Evg
Эксперт CАвтор FAQ
18377 / 6424 / 441
Регистрация: 30.03.2009
Сообщений: 17,838
Записей в блоге: 28
26.10.2009, 08:33 #7
Цитата Сообщение от niXman Посмотреть сообщение
Но правильней будет:
В очередной раз не удержался
Какой язык лучше учить?
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
26.10.2009, 10:16 #8
Цитата Сообщение от Evg Посмотреть сообщение
В очередной раз не удержался
Я не удержался?

Не будем устраивать холивар.
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
26.10.2009, 10:32 #9
Цитата Сообщение от M128K145 Посмотреть сообщение
если не ошибаюсь, то char по умолчанию unsigned и значения у него 0 - 256
С каких это пор?
Это работает как и предпологалось.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    char c;
    unsigned char d;
    c = -100;
    d = -100;
    cout << (int)c << endl;
    cout << (int)d << endl;
    return 0;
}


На C/ WinAPI даже есть строка (если не ошибаюсь)
C
1
#typedef unsigned char BYTE
0
Evg
Эксперт CАвтор FAQ
18377 / 6424 / 441
Регистрация: 30.03.2009
Сообщений: 17,838
Записей в блоге: 28
26.10.2009, 10:39 #10
Цитата Сообщение от niXman Посмотреть сообщение
Я не удержался?
Я не удержался
0
XuTPbIu_MuHTAu
Эксперт С++
2227 / 742 / 10
Регистрация: 27.05.2008
Сообщений: 1,498
26.10.2009, 11:56 #11
Цитата Сообщение от M128K145 Посмотреть сообщение
если не ошибаюсь, то char по умолчанию unsigned и значения у него 0 - 256
Ошибаешься
0
26.10.2009, 11:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2009, 11:56
Привет! Вот еще темы с ответами:

Как преобразовать число float в int без потери данных? - C++
Здравствуйте, форумчане. Столкнулась с такой проблемой: для работы программы требуется целое число, но вводится число типа float. Так вот,...

Как преобразовать все int,float,double в строки LPWSTR, LPCTSTR - C++
Столкнулся с проблемой не как не переведу в нормальный вид вот код #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include...

Как правильно преобразовать строку символов в строку типа CComBSTR? - C++
Как правильно преобразовать строку символов (например заданную как char p)в строку типа CComBSTR?

Преобразовать строку из файла, содержащую запись десятичного числа, в строку с двоичным числом - C++
Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа. И...


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

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

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