Decimal
类from decimal import Decimal
Decimal(23)
Decimal('1.3847')
根据整数、字符串创建 Decimal 对象
浮点数不建议这么做,因为本身不准确
Decimal.from_float(0.23860)
# Decimal('0.2386000000000000065281113847959204576909542083740234375')
根据浮点数创建 Decimal 对象
from decimal import getcontext
getcontext().prec = 6
Decimal(1)/Decimal(7)
# Decimal('0.142857')
import decimal
decimal.Decimal('50.5679').quantize(decimal.Decimal('0.00'))
# decimal.Decimal('50.57')
四舍五入
decimal.Decimal('50.5329').quantize(decimal.Decimal('0.0'), decimal.ROUND_UP)
# decimal.Decimal('50.6')
进一
参数如下(略掉 decimal.
):
ROUND_CEILING
:总是趋向无穷大向上取整ROUND_DOWN
:总是趋向 0 取整(去尾)ROUND_FLOOR
:总是趋向负无穷大向下取整ROUND_HALF_DOWN
:如果最后一个有效数字大于 5,则朝 0 反方向取整;否则,趋向 0 取整(默认)ROUND_HALF_EVEN
:类似于 ROUND_HALF_DOWN
,不过,如果最后一个有效数字值为5,则会检查前一位。 偶数值会导致结果向下取整,奇数值导致结果向上取整(四舍六入五取偶)ROUND_HALF_UP
:类似于 ROUND_HALF_DOWN
,不过如果最后一位有效数字为5,值会朝 0 的反方向取整(四舍五入)ROUND_UP
:朝 0 的反方向取整(进一)ROUND_05UP
:如果最后一位是 0 或 5,则朝 0 的反方向取整;否则向 0 取整