有没有办法在 Qweb 中使用小数精度显示变量?

Is there any way to show a variable using decimal precision in Qweb?

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

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

我想用产品价格的小数精度四舍五入。我将它四舍五入到 4 位数,因为我知道 Product Price 的小数精度为 4 位数,但正确的方法是从 [=] 中存储的记录中获取精度值11=] table,以防万一用户更改它。

有什么想法吗?

您可以这样获得 decimal_precision table 值:

<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}'/>

希望对您有所帮助。谢谢。

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}'/>