【问题标题】:Need to round in multiples of 0.25 [duplicate]需要以 0.25 的倍数四舍五入 [重复]
【发布时间】:2018-03-04 05:39:26
【问题描述】:

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

怎么做?

示例需要四舍五入:

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

等等。

【问题讨论】:

    标签: python python-2.7 odoo odoo-10


    【解决方案1】:

    如果要四舍五入到下一个最高的季度,可以使用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
    

    【讨论】:

      猜你喜欢
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多