我使用的数字必须具有 8 位精度(使用十进制解决),并且我希望用千位分隔符打印小数部分。
我目前使用 f"{100000.12345678:016_.8f}" 生成“100_000.12345678”,但我想获取“100_000.123_456_78”
您不能直接使用 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