0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 9
1

Перевод из string в float

04.04.2015, 16:49. Показов 4134. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
считывается выражение (числа и 5 возможных действий +, -, /, *, %)
надо его посчитать
планирую делать через польскую обратную запись
думаю считать стринг, потом перевести с массив стрингов, чтобы рассматривать не по 1 знаку, а сразу числа, если они не однозначные
но не очень понятно, как потом определять, что именно у меня записано в ячейке массива
можно как то определить, число там или нет? и перевести в тип float, например

заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2015, 16:49
Ответы с готовыми решениями:

Не понимает Dictionary<string, (float[][] train, float[][] valid, float[][] test)> DataSet;
Доброго времени суток. Пытаюсь запустить пример по работе с библиотекой. Не понимает конструкцию ...

Описание полей данных пользовательских классов : БИБЛИОТЕКА имя – String автор – String стоимость – float
1. Определить в отдельном программном модуле (*.pas) пользовательский класс в соответствии с...

Перевод строки, содержащей число типа float, в число float
Помогите разобраться, как строку, к примеру &quot;0.123&quot; перевести в переменную типа float...

Перевод слова их переменной string в другую переменную string для вывода ее отдельно от всей строки
У меня есть код, я выполняю задание учителя. В этом задании мне надо ввести кол слов, а также...

5
Эксперт С++
3069 / 1407 / 425
Регистрация: 19.01.2009
Сообщений: 3,853
04.04.2015, 17:09 2
Stepashka_, сначала проверяем оператор ли это. Если нет, то пробуем преобразовать строку в double, например, функцией strtod(). Если это прозошло без ошибок, то у нас операнд иначе выходим из выполнения выражения с ошибкой.
0
7525 / 6391 / 2913
Регистрация: 14.04.2014
Сообщений: 27,847
04.04.2015, 17:10 3
Понятнее объясни какая у тебя структура данных. Если выражение разбираешь, то что там кроме чисел ещё может быть?
0
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 9
04.04.2015, 17:38  [ТС] 4
вводится вообще все, что угодно. рандомная строка
если не корректное выражение, то надо вывести ошибку
поэтому и надо еще как-то проверить на корректность
со знаками все ясно, тупо написать bool = ('+' || и тд)
а вот как проверить число или нет не очень понимаю
можно ли как-то считать n знак стринга, его проверить 0<=i<=9 и если верно, то приписать к текущей строке в массив?

Добавлено через 6 минут
спасибо
а можете конкретно написать как это сделать
на самом деле проще наверное в int, потому что используются только целые числа
есть какая то функция для этого? и как написать?
вот так сойдет?
C++
1
2
vectorstd::vector<string> InStr;
double Number = strtod(InStr[1]);
0
7525 / 6391 / 2913
Регистрация: 14.04.2014
Сообщений: 27,847
04.04.2015, 17:48 5
C++
1
2
3
istringstream iss(InStr[1]);
iss >> Number;
if (iss.fail() || !iss.eof()) // не число
1
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 9
04.04.2015, 17:49  [ТС] 6
благодарю
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 17:49
Помогаю со студенческими работами здесь

float vs string
в общем есть такая конструкция FILE* pfi; char* fn = &quot;D:/test.txt&quot;; pfi= fopen(fn,&quot;w+&quot;);...

Из float в string
Как из переменной типа флоат записать число в string? float x = -123.56; string Str; Нужно чтобы...

String to float
Здравствуйте. В dataframe есть некий столбец. У него строковые значения. Например, ',996'...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru