向上取整浮场

2024-09-22 20:35:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图得到一个浮点字段,以四舍五入到奥多奥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))

Tags: orselfapi宽度defrequired数字浮点
2条回答

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

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

使用内置的round()函数。你知道吗

例如:

a=3.93

打印(圆形(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

相关问题 更多 >