有什么方法可以在Qweb中使用小数精度显示变量?

时间:2019-05-14 13:19:38

标签: odoo odoo-11 qweb

我在Qweb报告中显示了一个float变量:

<t-set="my_qweb_float_variable" t-value="4.0"/>
<span t-esc="'%.4f'% my_qweb_float_variable"/>

我想用产品价格的小数精度四舍五入。我将其舍入为4位数字,因为我知道产品价格的小数精度为4位数字,但是正确的方法是从decimal_precision中存储的记录中获取精度值表,以防用户更改它。

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

您可以通过以下方式获取decimal_precision表值:

<t t-set="decimal_precision" t-value="request.env['decimal.precision'].precision_get('Product Price')"/>

然后,当您打印decimal_precision变量的值时,它将显示decimal.precision模型的可浏览对象。

然后您可以通过以下方式获取字段值:

<t t-esc="my_qweb_float_variable" t-options='{"widget": "float", "precision": decimal_precision}'/>

我希望这会对您有所帮助。谢谢。

答案 1 :(得分:1)

您应该尝试关注

<span t-esc="my_qweb_float_variable" t-options='{"widget": "float", "precision": decimal_precision}'/>

我希望这会对您有所帮助。

答案 2 :(得分:0)

precision值必须为整数,否则将失败。

以下是QWEB报告中2位小数精度的示例。

正确:

<t t-esc="my_qweb_float_variable" t-options='{"widget": "float", "precision": 2}'/>

错误:

<t t-esc="my_qweb_float_variable" t-options='{"widget": "float", "precision": 2.0}'/>