关于decimal模块-Decimal之后取整的问题

本文只是记录一下工作中遇到的坑,详情请移步https://docs.python.org/2/library/decimal.html

关于计算1/3*3问题:

1、首先支付计算金额需要用到decimal库,models默认DecimalField类型
from decimal import Decimal
Decimal(1.00) / Decimal(3.00) * 3
Decimal('0.9999999999999999999999999999')

2、有个需求是对计算的结果需要向下取整:

int(Decimal(1.00) / Decimal(3.00) * 3) = 0;产生了错误,实际上得到应该是1

解决办法:使用浮点数计算

int(float(Decimal(1.00) / Decimal(3.00) * 3)) = 1

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/windy135/article/details/80318261
文章标签: Decimal python
个人分类: Python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭