gpt4 book ai didi

python字符串格式化固定宽度

转载 作者:行者123 更新时间:2023-11-28 22:03:46 26 4
gpt4 key购买 nike

我想把一堆 float 放到一个固定宽度的表格中。也就是说,我希望最多使用 12 个字符。我希望至少使用 10 位小数(如果可用);但是,如果 10 位小数使其占用超过 12 个字符,则四舍五入。我最初的想法是尝试这样的事情

# I only want 12 characters used total

num1 = 0.04154721841
num2 = 10.04154721841

# not what I want
print "{:<12.11g}".format((num1))
# what I want
print "{:<12.10f}".format((num1))

# not what I want
print "{:<12.10f}".format((num2))
# what I want
print "{:<12.11g}".format((num2))

必须有一种方法可以实现这一点,而无需编写函数来检查每个数字并根据上述条件给出格式。我错过了什么?

最佳答案

我不确定这是你要找的东西,因为它不是完全用格式字符串完成的,但是,当事情变得太长时,你可以只使用字符串切片来删除尾随字符:

num1 = 0.04154721841
num2 = 10.04154721841
num3 = 1002.04154721841

print "{0:<12.11g}".format(num1)[:12]
print "{0:<12.11g}".format(num2)[:12]
print "{0:<12.11g}".format(num3)[:12]

输出:

0.0415472184
10.041547218
1002.0415472

除此之外,我会说你应该只写一个函数,虽然我不是 str.format 方面的专家,所以我可能会遗漏一些东西。

关于python字符串格式化固定宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8424474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com