8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
1

На входе дробное число, которое надо преобразовать во float

03.03.2012, 10:22. Показов 891. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, столкнулся со следующей проблемой: на входе дробное число которое читается из потока посимвольно (состоит из 3 знаков 3.2 5.8 1.2 3.6 и тд) надо преобразовать во float. Например 3.6, 0.6 я получаю делением шестерки на 10, но получаю в итоге 3.599999. Как сего избежать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2012, 10:22
Ответы с готовыми решениями:

Преобразовать введенное с клавиатуры дробное число в формат расстояния в км и м
Например Введите дробное число -> 11.25 11.25 км — это 11 км 250 метров #include <iostream>...

Указать то дробное число. которое в двоичном представлении имеет наибольшее число единиц среди чисел
Указать то дробное число и его порядковый номер при вводе. которое в двоичном представлении имеет...

Найти натуральное число, которое во входе встречается нечетное число раз и вывести на экран
задача. на вход подается сначала кол-во эл-тов массива<500 000, затем сами элементы, каждый из...

Преобразовать введенное с клавиатуры дробное число в денежный формат
Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат....

2
Эксперт С++
5827 / 3478 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.03.2012, 18:18 2
fenix117, частично, но не полностью, можно решить проблему с помощью типа с большей точностью (double), но в общем случае из-за особенностей представления типов с плавающей точкой в С/С++ проблема не решаема. Почему так происходит, можно почитать тут в разделе 5.
1
Модератор
Эксперт по электронике
8844 / 6624 / 902
Регистрация: 14.02.2011
Сообщений: 23,315
03.03.2012, 18:26 3
Цитата Сообщение от fenix117 Посмотреть сообщение
0.6 я получаю делением шестерки на 10, но получаю в итоге 3.599999.
а никак
прочитай про плавающие числа
дробные числа это степень 2(точнее деление на степень 2)
0.6 никак туда не попадает посему приближение даже в дубле ты получишь
0.599999999....

Добавлено через 2 минуты
если нужно именно 0.6
то вводи свой класс (структуру)
один инт целое число второй десятые
так работает большинство бухгалтерских программ
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2012, 18:26
Помогаю со студенческими работами здесь

Преобразовать введённое с клавиатуры дробное число в денежный формат.
Составить программу, которая преобразует введённое с клавиатуры дробное число в денежный формат....

Преобразовать введенное с клавиатуры дробное число в денежный формат
Нужно составить программу,которая преобразует введенное с клавиатуры дробное число в денежный...

Преобразовать введенное с клавиатуры дробное число в денежный формат
Спроектировать форму, содержащую визуальные компоненты для ввода исходных данных и отображения...

Преобразовать дробное число в денежный формат (рубли и копейки) используя int и frac.
Преобразовать дробное число в денежный формат (рубли и копейки) используя int и frac.


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

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

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