И так, вот и подошел конец циклу статей основы python , сегодня выходит последняя статья из этого цикла. И сегодня мы разбираем модуль decimal .
Для чего он вообще нужен? Дело в том, что python по умолчанию плохо работает с данными типа float , например:
И так, как нам решить данную проблему?
Тут нам на помощь приходит модуль decimal.
Как добавить модуль:
from decimal import Decimal
Как создать переменную, чтобы все работало правильно:
<имя переменной>= Decimal(<число в виде строки>)
Теперь можно спокойно складывать данную переменную без ошибок.
Кстати 0.10 не будет записано, как 0.1.
Кстати объекты типа decimal имеют свой метод quantize() позволяющий их округлять:
<>.quantize(Decimal(<1.нулей столько сколько знаков после запятой>), <как округлять>)
Что еще за параметр "Как округлять"?
Сюда вписывается одно из следующих значений, которое нужно тоже импортировать:
from decimal import Decimal, <как округлять>
Что там может быть:
ROUND_HALF_UP - в сторону повышения, если после него идет 5 или выше
ROUND_HALF_DOWN - в сторону повышения если после него число больше 5
ROUND_05UP - округляет 0 до 1, если после него идет 5
ROUND_CEILING - всегда в большую
ROUND_FLOOR - всегда в меньшую
Ладно, с этим разобрались, а что за <1.нулей столько...>
Тут все просто, хотите округлить до двух знаков после запятой, передаете '1.00' , до трех - '1.000'
Ну, что же на этом наш курс закончен, спасибо всем кто читал и кто будет читать, теперь пожалуй прикреплю все статьи из курса для тех, кто может только сейчас наткнулся:
#3 операторы сравнения, условия циклы (tg)
#6 область видимости переменных (tg)
#11 Работа с текстовыми файлами (tg)
#12 Работа с датой и временем (tg)
Наш тг: @postHack