Форум сайта python.su
Собсно, задача такая: есть некоторая таблица про деньги, которая подразумевает, что перед запятой показываются рубли, а после запятой - копейки.
При суммах с “некруглыми копейками” отлично работает round(x, 2) - выводится эн рублей и двузначное число копеек, например, 10.99 рублей, и все счастливы.
Если же число копеек кратно десяти, то round окгугляет до ближайшего ненулевого знака, и получаются суммы типа 10.5 рублей или 10.0 рублей, от чего бухгалтерия зеленеет и перестает узнавать деньги в лицо.
Можно как-то красиво решить эту проблему? Некрасиво я уже решила, не скажу как, а то стыдно :-)
Еще бывает тоже неприятная ситуация, когда число рублей изначально целое, но при переводе в float оно обзаводится дробной частью где-то на 10-м знаке, и при округлении эта дробная часть изредка переезжает на видное место, вот как-то так: 10 —> 10.000000001 —> 10.01. Такое вылезло пару раз, сейчас не удается повторить. Но на всякий случай было бы здорово знать, как можно таких вещей гарантированно избежать.
Спасибо заранее!
Офлайн
>>> print '%.02f' % 1.5
1.50
Офлайн
Спасибо! То, что нужно!
Офлайн
hildi
Еще бывает тоже неприятная ситуация, когда число рублей изначально целое, но при переводе в float оно обзаводится дробной частью где-то на 10-м знаке, и при округлении эта дробная часть изредка переезжает на видное место, вот как-то так: 10 —> 10.000000001 —> 10.01. Такое вылезло пару раз, сейчас не удается повторить. Но на всякий случай было бы здорово знать, как можно таких вещей гарантированно избежать.
import decimal
Офлайн
PooH
Спасибо! Ушла курить мануал про decimal и re :-)
Офлайн
PooH
и с чем это связано????????????????????
пипец……
и в питоне начинаются сишные пляски с бубном?
Офлайн
beliy_shumс тем, что десятичное(decimal) число является вещественным(float), но вещественное число не постулируется как десятичное. Учите матчасть.
PooH
и с чем это связано????????????????????
Офлайн
beliy_shumЭто связано с двумя формами представления вещественных чисел в компьюторах: с плавающей запятой и с фиксированной
PooH
и с чем это связано????????????????????
beliy_shumА вы как хотели? Вы не заметили что программистов готовят в высших учебных заведениях?
пипец……
и в питоне начинаются сишные пляски с бубном?
Офлайн