odoo-033 比较 float 浮点数大小之精度坑

文章目录

  • 前提
  • 原因
  • 问题

前提

  • 产品单位精确到6位小数
  • 生产制造模块,重写了完成的方法,在点击完成的时候报错如下:
    (解释下:就是很奇怪,明明都是必填字段,也都赋值了但是就是拿不到值)
    odoo-033 比较 float 浮点数大小之精度坑_第1张图片

原因

如下图所示,最后找到是这个if没有通过,导致值为空的。
通过print,发现视图上的数据显示如下,都是232.05。
但是,程序中打印出来的结果,会有精度的不同,一个是232.05,一个是232.04999999999998。
经验:比较数值大小的时候,需要在同一精度下。
odoo-033 比较 float 浮点数大小之精度坑_第2张图片

odoo-033 比较 float 浮点数大小之精度坑_第3张图片

问题

什么情况下,数值出来的是跟视图一样的,什么情况下会出现精度问题?

你可能感兴趣的:(Odoo,总结,odoo,python)