0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 16
|
||||||
1 | ||||||
Число с плавающей точкой24.10.2019, 21:07. Показов 7745. Ответов 6
Прошу помогите, только начинаю учиться и есть затыки в работе с си. Есть программа которая выбирает вариант решения в зависимости от условий. Проблема в том, что когда вводишь в Y значение 4.0000...01 выводится число с погрешностью. Можно ли как то избежать данной погрешности или же как-то ограничить возможность вводить такие вещественные числа, где после точки больше 3 нулей. Приношу извинения за свою неграмотность !
0
|
24.10.2019, 21:07 | |
Ответы с готовыми решениями:
6
Преобразовать число с плавающей точкой в строку Получить точное число с плавающей точкой Вернуть указатель на число с плавающей точкой Вывести число с плавающей точкой в разных представлениях |
0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 16
|
|
24.10.2019, 23:50 [ТС] | 3 |
Дело в том, что если например ввести значение для y=4.00000000001, то программа выведет значение -99999991725.963577, что в принципе почти верный ответ, но с погрешностью. Поэтому и спрашиваю можно ли как то избавиться от этой погрешности или просто не дать пользователю вводить числа на подобие 4.00000000001 ?
0
|
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
|
|
25.10.2019, 00:04 | 4 |
Единственный вариант -- считать в буффер строку и преобразовать ее в вещественное число с необходимой вам точностью. Хорошая практика парсинга.
0
|
0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 16
|
||||||
25.10.2019, 00:17 [ТС] | 5 | |||||
Простите, я еще слишком слабо разбираюсь во всем этом, поэтому не все понимаю. Но вроде тщетными попытками я нашел способ ограничить пользователя от ввода таких чисел. По идее, теперь пользователь, если захочет ввести такое число просто получит предупреждение
0
|
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
|
|||||||||||
25.10.2019, 14:56 | 7 | ||||||||||
Я говорю о разборе строки, содержащей вещественное число. То есть вы считываете не сразу число из потока, а строку, дальше обрабатываете строку и получаете из нее число с необходимой вам точностью:
0
|
25.10.2019, 14:56 | |
25.10.2019, 14:56 | |
Помогаю со студенческими работами здесь
7
Вывести число с плавающей точкой без лишних нулей Программа, вычисляющая по формуле число с плавающей точкой с заданной точностью Дано число с плавающей точкой - вывести его, округлив до тысячных Вещественное число с плавающей точкой записать в переменную типа float Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |