我已经编写了自己的Odoo模块,我在weight
模型中添加了属性product.template
。
Python代码中的实现是
weight = fields.Float('Weight', digits=(12,4))
我还更改了视图,以便我可以在表单中设置此值。所以我在Odoo GUI中创建了一个新产品,并将weight
设置为7.85
。存储值后,显示7.8500
似乎是合理的,因为定义声明了4个浮点数。存储在PostgreSQL中的值是numeric
,值为7.8500
。所以这一切似乎都是正确的。
当我现在想要使用基于XML-RPC的Odoo API获取产品时,我不会7.8500
而是7.8500000000000005
<member>
<name>weight</name>
<value><double>7.8500000000000005</double></value>
</member>
所以我的问题是,为什么会这样,我该如何防止这种情况?
修改
每当我有2个小数位时会出现此问题。因此,当我使用7.8
代替7.85
时,返回值为7.8
。