Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 13, 2018 16:19:55

like_hef
Зарегистрирован: 2018-02-13
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычитание целого числа из дроби

Всем привет!

Я прям совсем начинающий, поэтому заранее прошу прощения за такие простые вопросы.

Помогите найти ошибку в решении задачи:

Дано положительное действительное число X. Выведите его дробную часть.

Мое решение:
import math
x=float(input())
a=math.floor(x)
print(x-a)

Если х=17.9, то результат получаю 0.8999999999999986. Почему не 0.9?

Такая же история, если перевожу целое число в дробное:

import math
x=float(input())
a=float(math.floor(x))
print(x-a)

П.С. Через поиск не нашел ничего похожего.

Отредактировано like_hef (Фев. 13, 2018 16:20:55)

Офлайн

#2 Фев. 13, 2018 17:20:44

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Вычитание целого числа из дроби

потому что float (с плавающей точкой) числа из-за представления чисел в компьютере неточны
Для высокой точности используют другие объекты (например Decimal и Fraction)).
изучаем азы https://docs.python.org/3/tutorial/floatingpoint.html



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 14, 2018 11:45:26)

Офлайн

#3 Фев. 14, 2018 15:27:34

like_hef
Зарегистрирован: 2018-02-13
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычитание целого числа из дроби

PEHDOM
потому что float (с плавающей точкой) числа из-за представления чисел в компьютере неточны
Для высокой точности используют другие объекты (например Decimal и Fraction)

Спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version