如何在数字的小数部分使用千位分隔符

问题描述 投票:0回答:1

我使用的数字必须具有 8 位精度(使用十进制解决),并且我希望用千位分隔符打印小数部分。

我目前使用 f"{100000.12345678:016_.8f}" 生成“100_000.12345678”,但我想获取“100_000.123_456_78”

python number-formatting
1个回答
0
投票

您不能直接使用 f 字符串格式规范来执行此操作。您可以使用内置的 textwrap 模块“手动”完成此操作。

from textwrap import wrap

def format(n: float, w: int=8) -> str:
    a, b = f"{n:_.{w}f}".split(".")
    return a + "." + "_".join(wrap(b, 3))

print(format(100000.12345678))

输出:

100_000.123_456_78
© www.soinside.com 2019 - 2024. All rights reserved.