Форум сайта python.su
Не пойму как у питона происходит с числами, код:
if debet_sum == 130741.63: print credit_sum == debet_sum # print credit_sum, debet_sum, difference print type(credit_sum), type(debet_sum) print '%s - %s = %s' % (credit_sum, debet_sum, credit_sum - debet_sum)
Офлайн
все же верно нету никакой “магии”
Отредактировано Yatmanov (Апрель 2, 2013 16:17:10)
Офлайн
YatmanovЧто верно? Объясните пожалуйста.
все же верно нету никакой “магии”
Офлайн
в сравнении у вас выводится ложь, потом еще показываете что есть разница у переменных в -6e-11
debet_sum равняется 130741.63, а credit_sum равняется debet_sum-(5.8у-11)
Офлайн
Yatmanovведь печатается credit_sum = 130741.63, почему считается иначе ?
в сравнении у вас выводится ложь, потом еще показываете что есть разница у переменных в -6e-11debet_sum равняется 130741.63, а credit_sum равняется debet_sum-(5.8у-11)
Офлайн
тип float нельзя использовать для подсчета денег
и для float такое поведение нормально
Офлайн
bismigalisТогда посоветуйте что использовать ?
тип float нельзя использовать для подсчета денеги для float такое поведение нормально
Офлайн
import decimal
Офлайн
Благодарю за ответы !
Офлайн