odoo 的 Float 類型的字段 和 Monetary 類型字段小數位數顯示問題。
說明:本文的截圖跟代碼都是基于odoo13版本的。僅供參考。
大綱:
一、官方提供的小數準确性
二、貨币字段類型Monetary的精度
三、自定義小數位數
四、視圖上定義顯示的小數位數
詳情:
一、官方提供的小數準确性
位置:技術-設置-數據庫結構-小數準确性
這裡官方預設了一些場景使用的小數位數的情況,修改對應的數字,就可以修改引用這個名稱的顯示的小數位數。用法如下:
qty = fields.Float('Qty', digits='Product Unit of Measure')
二、貨币字段類型Monetary的精度
位置:開票-配置-會計-貨币
注意:我選擇的這個菜單是官方提供的,用戶有多币種權限才能看到的。當然也可以自己根據貨币模型的字段自己寫視圖。
修改成3後,明顯的效果是,銷售/采購/開票中的未稅金額,含稅金額,合計顯示3位小數。可能導緻數據不準,96.00變成95.99,類似這樣的。
原理說明:貨币字段的小數精度是根據字段屬性中設置的curreny_id而定的,就是貨币的精度。
三、自定義小數位數
注意:自己在模型中自定義小數位數,這樣的話,視圖上顯示的小數位數不能多餘設定的。
won_count = fields.Float('Won Count', digits=(16, 1))
四、視圖上定義顯示的小數位數
注意:視圖上可以顯示需要的小數位數。代碼如下:
<field name="factor" digits="[10, 4]"/>
思考:
顯示的小數位數可以明确看到,那麼在後台參與計算的又是幾位小數精度呢?
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!