向上舍入浮动字段

时间:2018-09-20 11:34:27

标签: python python-2.7

我正在尝试将一个float字段四舍五入到Odoo 10中的下一个数字。我正在按房间长度计算房间宽度

@api.onchange('roomwidth')
    def _onchange_roll_required(self):
        self.rolls_required = (self.roomwidth or 1) / (self.carpet_width or 1)

地毯的宽度为6,因此13x9的房间的尺寸为2.17。我需要将此2.17设为3,所以我需要四舍五入到下一个数字。我已经使用下面的3位数字,但从未四舍五入

rolls_required = fields.Float("Rolls Required",digits=(12,3))

2 个答案:

答案 0 :(得分:0)

使用内置的round()函数。

ex:

a = 3.93

print(round(a,0))// 4.0

舍入函数需要2个参数,第二个是要舍入的数字

编辑:

哦!对于那个很抱歉 ! 在这里,试试这个:

a = 2.17
def rnd(a):
    if((a+1)-a >= 0.5):
        return int(a+1)
    else:
        return round(a, 0)
print(rnd(a)) // 3

答案 1 :(得分:-2)

正如Drako在他的评论中提到的那样,您需要检查小数点后是否有内容,然后在基数上加1。 试试这个:

num = 2.17
if num % 1 != 0:
    rounded_num = int(num+1)
print(rounded_num)