gpt4 book ai didi

python - 格式化带有填充和对齐的 float

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:47 26 4
gpt4 key购买 nike

我知道我能做到

> print '|{:16.3f}|\n|{:16.3f}|'.format(1, 10)
| 1.000|
| 10.000|

填充一个数字以便输出是一定数量的列,我可以做到

> print '|{:<16.3f}|\n|{:<16.3f}|'.format(1, 10)
|1.000 |
|10.000 |

左对齐格式化字段。有没有办法同时做这两件事?我想在填充数字上左对齐,所以我的输出看起来像

> print '|{:<format>}|\n|{:<format>}|'.format(1, 10)
| 1.000 |
|10.000 |

哪里<format>这就是我要解决的问题。具体来说,我想要一个 6 字符格式的 float ,小数点后 3 位左对齐到 16 列。我知道我可以用多种字符串格式来解决这个问题,但我想同时解决所有问题。

最佳答案

必须将格式化的数字嵌入到更宽的列中:

>>> print '|{:16s}|\n|{:16s}|'.format(format(1, '6.3f'), format(10, '6.3f'))
| 1.000 |
|10.000 |

我使用 format() 函数调用来格式化数字。

尽管 str.format() 解析器可以处理格式化槽中的参数填充,但您无法格式化格式化输出。

当然,您可以只在格式字符串中添加空格,因为您已经控制了格式的宽度,您知道数字后面会有 10 个空格:

>>> print '|{:6.3f}          |\n|{:6.3f}          |'.format(1, 10)
| 1.000 |
|10.000 |

关于python - 格式化带有填充和对齐的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515081/

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