You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让函数返回的产品数量数值仅保留两位小数显示

你尝试的写法无法生效,核心原因是 orderline.get_quantity_str_with_unit() 返回的是包含数量+单位的字符串类型结果(例如3.750 个),不是数字类型,因此无法调用数字的toFixed()方法做精度处理。

以下是两种常用的正确实现方案:

方案1:模板层面直接格式化(改造成本最低)

直接取订单行的原始数量字段和单位字段,自行格式化后拼接:

<t t-esc="'{:.2f} {}'.format(orderline.product_qty, orderline.product_uom_id.name)" />

如果你需要保留Odoo全局的小数精度配置,也可以用内置的精度过滤器处理:

<t t-esc="orderline.product_qty | float_round(2)" />
<t t-esc="orderline.product_uom_id.name" />

方案2:重写模型方法(全局生效)

如果所有调用get_quantity_str_with_unit()的场景都需要展示两位小数,可以直接继承订单行模型,重写该方法的逻辑,在方法内部将数量格式化为两位小数后再拼接单位返回,后续所有调用该方法的位置无需额外修改即可生效。


内容的提问来源于stack exchange,提问作者Oscar Vardela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:48:02