python - f-string,多种格式说明符

标签 python string-formatting

是否可以在 python f-string 中使用多个格式说明符?

例如,假设我们要将数字四舍五入到 2 个小数点并指定打印宽度。

单独来看是这样的:

In [1]: values = [12.1093, 13.95123]

In [2]: for v in values: print(f'{v:.2}')
1.2e+01
1.4e+01

In [3]: for v in values: print(f'{v:<10} value')
12.1093    value
13.95123   value

但是,是否可以将两者结合起来?

我试过:
for v in values: print(f'{v:.2,<10} value')

但是得到了Invalid format specifier error

最佳答案

你要

for v in values: print(f'{v:<10.2} value')

详细规则见https://docs.python.org/3/library/string.html#formatstrings .

The general form of a standard format specifier is:

format_spec ::= [[fill]align][sign][#][0][width][grouping_option][.precision][type]



对于您的情况,您需要 [align] 和 [.precision]。

关于python - f-string,多种格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59890977/

相关文章:

python - 替代python中的函数指针

python - 如何在 Flask-reSTLess 中返回 "already exists"错误?

java - 如何仅在使用 java 的链接值之间添加空格

java - 将要打印到文件上的字符串居中对齐

c++ - 如何将 CString 传递给格式字符串 %s?

python - 如何在设置/检索属性时自动转义属性?

data.plot(x=data.timestamp, 样式 =".-") 上的 Python 错误

python - Pandas 滚动但涉及最后一行值

Javascript:为什么这会产生丑陋的字符串???我想要货币

java - 字符串格式 Thymeleaf Spring Boot