如何在 QWeb 中只打印浮动值的前两位数字(向下舍入)
How to print only first two digits of the floating value (round down) in QWeb
您好,我需要将值 10.50785 打印为 10.50 而不是 10.51。
我试过这样 <t t-esc="'{0:,.2f}'.format(float(10.50785))"/>
,但它返回的值是 10.51。
在你的 _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)
不要忘记导入 class 顶部的数学库。
import math
然后在你的 qweb t-esc
:
<t t-esc="'{0:,.2f}'.format(floor(10.50785))"/>
这只是一个从 qweb 调用包装报告 class 中定义的函数的示例,但我希望你明白了。
您好,我需要将值 10.50785 打印为 10.50 而不是 10.51。
我试过这样 <t t-esc="'{0:,.2f}'.format(float(10.50785))"/>
,但它返回的值是 10.51。
在你的 _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)
不要忘记导入 class 顶部的数学库。
import math
然后在你的 qweb t-esc
:
<t t-esc="'{0:,.2f}'.format(floor(10.50785))"/>
这只是一个从 qweb 调用包装报告 class 中定义的函数的示例,但我希望你明白了。