24

我熟悉使用%.2f为浮点数设置两位小数的约定,但是是否可以将数字更改为变量,以便用户可以说明显示的小数位数?

4

3 回答 3

38

.format是一种处理变量格式的更好、更易读的方法:

'{:.{prec}f}'.format(26.034, prec=3)
于 2013-03-31T10:09:55.080 回答
12

使用较旧的字符串格式运算符,您可以使用'%.*f' % (decimals, number)

>>> number = 26.034
>>> '%.*f' % (3, number)
'26.034'
>>> '%.*f' % (2, number)
'26.03'
>>> '%.*f' % (1, number)
'26.0'
于 2013-03-31T10:07:22.377 回答
11

对于 Python 3.6+,您可以使用 f-string 样式格式化程序执行此操作:

num = 0.123456789
precision = 3
print(f"{num:.{precision}f}")

输出:

0.123
于 2020-04-01T02:29:17.127 回答