在 Cheetah 中格式化数字时如何添加千位分隔符?

How can you add thousand separator when formatting a number in Cheetah?

我正在尝试将数字格式化为 Cheetah3 (Python 3.6) 中的价格。虽然我已成功使用标准格式表达式将小数位数限制为 2 位,但逗号分隔符似乎不起作用(我收到错误消息)。

猎豹表情:

#def format_price($price)
    #if $price < 0.0
        #set $price_str = '($%,.2f)' % (-1.0 * $price)
    #else
        #set $price_str = '$%,.2f' % $price
    #end if
    $price_str
#end def

错误:

ValueError: unsupported format character ',' (0x2c) at ...

这不是 Cheetah 的问题。 ValueError 直接来自 Python:

$ python3.6
>>> '($%,.2f)' % -1.0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: unsupported format character ',' (0x2c) at index 3

你可能想要 .format().