使用 Babel 我得到这个:
>>> babel.numbers.format_currency(1099.98, 'CHF', locale='fr_CH')
'1\u202f099,98\xa0CHF'
我想要这种格式:
"CHF 1'099.98"
是否可以用babel指定自定义格式?
我目前丑陋的解决方法是:
>>> num = 1099.998
>>> s = f"CHF {num:,.2f}".replace(',',"'")
>>> s
"CHF 1'100.00"
但它也舍入了我的数字:(
问题是你的
.2f
(四舍五入到小数点后两位)。如果您想要更高的精度,请使用更大的数字(例如 .10f
),或者如果您不希望任何舍入,请直接传递您的数字。
f"CHF {num:,f}".replace(",","'")