需要以0.25的倍数进行舍入

时间:2018-03-04 05:39:26

标签: python python-2.7 odoo odoo-10

我需要将货币金额计算在0.25,0.50,0.75,如果大于0.75,则必须舍入到下一个整数。

怎么做?

示例需要舍入:

  • 25.91至26,
  • 25.21至25.25
  • 25.44至25.50

等等。

1 个答案:

答案 0 :(得分:6)

如果您想要四舍五入到下一个最高季度,可以使用math.ceil()

>>> import math
>>> def quarter(x):
...     return math.ceil(x*4)/4
...
>>> quarter(25.91)
26.0
>>> quarter(25.21)
25.25
>>> quarter(25.44)
25.5

如果您希望舍入到最接近的季度而不是下一个最高季度,只需将math.ceil替换为round

>>> def nearest_quarter(x):
...     return round(x*4)/4
...
>>> nearest_quarter(4.51)
4.5