如何在QWeb中仅打印浮动值的前两位数(向下舍入)

时间:2018-03-04 08:06:54

标签: xml qwebview qweb

嗨我需要将值10.50785打印为10.50而不是10.51。

我尝试了这个<t t-esc="'{0:,.2f}'.format(float(10.50785))"/>,但它将值返回为10.51。

1 个答案:

答案 0 :(得分:1)

_wrapped_report_class中,定义类似

的功能
_floor(self, value):
    return math.floor(value * 100) / 100 # Since you'd like to get 2 digits it's 100

或者如果您可能想要使用不同位数的相同内容:

_floor(self, value, n):
    return math.floor(value * math.pow(10, n)) / math.pow(10, n)

不要忘记在课程顶部导入数学库。

import math

然后在你的qweb t-esc

<t t-esc="'{0:,.2f}'.format(floor(10.50785))"/>

这只是在qweb的包装报告类中调用已定义函数的一个例子,但我希望你能有这个想法。