2024-06-28 19:24:04 发布
网友
我用的是奥多10,我在计算一个场。计算实际上是可行的,但是我在Odoo中得到了一个错误,必须单击OK继续。单击“确定”后,错误为
self.boxes = (self.squaremtr or 0.0) / (self.squarebox or 0.0) ZeroDivisionError: float division by zero
下面是我用python编写的代码
简单的解决方案是:
@api.onchange('squaremtr') def _onchange_boxes(self): if self.squaremtr != 0 and self.squarebox != 0: self.boxes = self.squaremtr / self.squarebox else: self.boxes = 0.0
你不能除以零(https://en.wikipedia.org/wiki/Division_by_zero),这在数学上没有意义。这也意味着你不能(self.squarebox or 0.0)。在
(self.squarebox or 0.0)
你得检查一下self.squarebox公司是一个有效的数字,并以某种合理的方式处理它。在
如果除法被零除,我们应该采取一些测试用例来处理除法。在
尝试使用以下代码:
@api.onchange('squaremtr') def _onchange_boxes(self): if self.squaremtr and self.squarebox: self.boxes = self.squaremtr / self.squarebox elif self.squaremtr: self.boxes = self.squaremtr elif self.squarebox: self.boxes = self.squarebox else: self.boxes = 0.0
简单的解决方案是:
你不能除以零(https://en.wikipedia.org/wiki/Division_by_zero),这在数学上没有意义。这也意味着你不能
(self.squarebox or 0.0)
。在你得检查一下self.squarebox公司是一个有效的数字,并以某种合理的方式处理它。在
如果除法被零除,我们应该采取一些测试用例来处理除法。在
尝试使用以下代码:
相关问题 更多 >
编程相关推荐