数字的格式化输出
在odoo中写Float类型引用时,遇到数字需要加上千位符,odoo在Float类型中自动加上了千位符,所以直接正常使用源生就好了,但是需求要求在数值没有值的时候自动显示为空,但是odoo中源生的Float类型默认空值为0.00,所以无法修改成空值,没有办法只能将Float类型转换成Char类型,但是转换以后,末尾的两位小数就只剩一位了,千位符也不见了,这种情况下,可以用Python中的format函数解决该问题。
解决方案
格式化输出单个数字的时候,可以使用内置的 format()
函数,比如:
>>> x = 1234.56789
>>> # Two decimal places of accuracy
>>> format(x, '0.2f') #无空格,小数保留2位
'1234.57'
>>> # Right justified in 10 chars, one-digit accuracy
>>> format(x, '>10.1f') #数字输出靠右,总计长度为10,小数保留1位
' 1234.6'
>>> # Left justified
>>> format(x, '<10.1f') #数字输出靠左,总计长度为10,小数保留1位
'1234.6 '
>>> # Centered
>>> format(x, '^10.1f'