在 python 中使用字符串格式时如何防止最后一位数字四舍五入?

How to prevent rounding off of the last digit when using string formatting in python?

以下代码:

>>> a
54685.1546432
>>> c = f"{a:,f}"
>>> c

给出以下输出:

'54,685.154643'

如您所见,python 已自动将最后一位数字从 'a' 舍入为 'c'。 'c' 的理想答案是

'54,685.1546432'

任何人都可以建议如何实现这一目标吗?

编辑:经过一些研究,我发现这可以通过以下方式实现:f"{a:,}" 谢谢大家的回答,如果有人能指导我如何关闭这个问题就太好了!

如果您只想为千位添加逗号分隔符,那么您应该这样做:

c = f"{a:,}"

除非您想指定小数精度,否则不需要在逗号后添加 f,在这种情况下您可以这样做:

c = f"{a:,.7f}"

其中 .7f 指定句点后的 7 位小数。