0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 53
|
||||||
1 | ||||||
Конвертирование из float в str и наоборот13.10.2010, 12:23. Показов 5264. Ответов 16
Метки нет (Все метки)
Приветствую всех! Господа, помогите освоить конвертацию типов. Знаю, что такие темы не раз поднимались, но прочитав их чего-то недопонял (ибо я новичок). Многие советуют использовать atoi, scanf и т.д., но не знаю как их применять. Вот например:
0
|
13.10.2010, 12:23 | |
Ответы с готовыми решениями:
16
Str в long double и наоборот Конвертирование float/int to string Equal(str.begin(), str.end(), str.rbegin() Функции str.size() и str.length() - в чем их разница? |
33 / 33 / 0
Регистрация: 14.11.2009
Сообщений: 137
|
|||||||||||
13.10.2010, 12:38 | 2 | ||||||||||
Для вашего случая:
0
|
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 6
|
||||||
13.10.2010, 12:40 | 3 | |||||
попробуйте так:
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
13.10.2010, 13:20 | 4 | |||||
pro_xaoc, а с какой целью Вы для ввода слова тип float используете? float и double используются для хранения вещественных чисел разной степени точности. Если задача - читать строку ввода, проверять, не содержит ли она команду exit, и если не содержит, интерпретировать ввод, как вещественное число, то вот например:
1
|
33 / 33 / 0
Регистрация: 14.11.2009
Сообщений: 137
|
|
13.10.2010, 13:42 | 5 |
easybudda, А через static_cast не получится перевести, как я выше написал?
Что-то прошелся по инету, не приветствуют этот способ...
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
13.10.2010, 14:00 | 6 | |||||
Не, так не получится
Код
$ g++ -o double_cast double_cast.cpp double_cast.cpp: In function 'int main()': double_cast.cpp:6: error: invalid static_cast from type 'std::string' to type 'double'
1
|
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 53
|
||||||
13.10.2010, 14:00 [ТС] | 7 | |||||
дело в том, что я создаю на С++ калькулятор (все наверное создавали, когда начинали изучать). Так вот, тип флоат я использую для того, чтобы принимать цифры с клавы и походу проверить, если там вместо цифр идет exit, то условие выполняется и прога завершается. Ну вот собственно сам код:
Код
static_cast: невозможно преобразовать 'std::string' в 'float' Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
0
|
33 / 33 / 0
Регистрация: 14.11.2009
Сообщений: 137
|
|
13.10.2010, 14:07 | 8 |
нет. тот, что я привел...
Добавлено через 5 минут извините.. по неопытности..
0
|
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 53
|
|
13.10.2010, 14:52 [ТС] | 9 |
Друзья, ну что с моим вопросом?
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
13.10.2010, 15:27 | 10 | |||||
pro_xaoc, так вроде ответил - если читаете из ввода число, не пытайтесь его со строкой сравнивать...
Код
~/cpp/numbers $ g++ -o simple_calc simple_calc.cpp ~/cpp/numbers $ ./simple_calc > 45 + 5 Result: 50 > 13+1 Result: 14 > 18 / 5 Result: 3.6 > 8 / 0 Dividion by 0 not allowed! Result: 0 > exit ~/cpp/numbers $
0
|
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
|
|
13.10.2010, 15:33 | 11 |
Ммм, я наверное более точно сформулирую вопрос:
Как из переменной типа float сделать переменную char и наоборот\
0
|
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 53
|
|
13.10.2010, 15:39 [ТС] | 12 |
0
|
33 / 33 / 0
Регистрация: 14.11.2009
Сообщений: 137
|
||||||
13.10.2010, 15:46 | 13 | |||||
http://liveworkspace.org/code/... b991fffc3b вроде работает.. хм.. можно лаконичней.. sprintf'ом?
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
13.10.2010, 15:54 | 14 | |||||
pro_xaoc, Вам Fenrir1 функцию написал, возвращающую из строки данные разных типов, я Вам калькулятор написал, Вы ответы читаете?
2
|
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
|
|
13.10.2010, 16:16 | 15 |
easybudda, Спасибо пример хороший, а как быть когда длина char не известна, а используется указатель?
0
|
0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 53
|
|
13.10.2010, 16:33 [ТС] | 16 |
easybudda, спасибо большое и извини, я не заметил ...
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
13.10.2010, 17:23 | 17 | |||||
Есть gnu-шная функция asprintf(), но не факт, что в мелкомягких компиляторах будет работать.
0
|
13.10.2010, 17:23 | |
13.10.2010, 17:23 | |
Помогаю со студенческими работами здесь
17
Функция: по заданной строке Str сформулировать новую строку, состоящую только из цифр, входящих в Str как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |