python - 使用 format() 居中对齐并设置作为输入给出的精度

标签 python python-3.x text format

这是我的问题:考虑一个像 29.8245 这样的数字,首先给定一个精度数,这个数字应该四舍五入,例如对于 precision =0 它将是 30。现在这个数字应该是中心在给定宽度的字符串中对齐。例如,如果 width = 10 那么最终结果将是:' 30 ' 对于这个特殊的例子,我想到了:

"{:^10}".format("{0:.0f}".format(29.8245))

问题是现在数字是硬编码的,我不知道如何解决这个问题以将输入输入到我的代码中。我知道:

"{}".format()

是我们在正常情况下使用的但在这个问题中我不知道如何组合这两个代码(我什至不知道是否可能)。 还有没有更好的方法来解决这个问题?

最佳答案

这正是格式字符串支持嵌套的原因:

>>> width = 10
>>> precision = 0
>>> num = 29.825
>>> f'{num:^{width}.{precision}f}'
'    30    '

关于python - 使用 format() 居中对齐并设置作为输入给出的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53012873/

相关文章:

python - 设置 Linux 以使用特定版本的 python 进行编译

python - 如何检查字符串是否是有效的python代码(运行时错误)

java - 需要替换包含 的 xslt 句子。 (点)带有空格

text - 我在哪里可以找到大量的文本文件?

python - 检查 NumPy 数组是否在 Python 列表中

python - TensorFlow 在执行 embedding_lookup 时内存不足 (ResourceExhaustedError)

python - 如何随时间按类别绘制

python - Discord.py 时间表

python - 如何在 python 中编写按钮(不使用 Tkinter)?

jquery - 文本换行在圆的边界内,文本垂直和水平居中