我熟悉使用%.2f
为float设置两个小数位的约定,但是它可以以任何方式将数字更改为变量,以便用户可以指出小数位数显示?
答案 0 :(得分:21)
.format
是一种更好,更易读的处理变量格式的方法:
'{:.{prec}f}'.format(26.034, prec=3)
答案 1 :(得分:9)
使用旧的字符串格式运算符,您可以使用'%.*f' % (decimals, number)
:
>>> number = 26.034
>>> '%.*f' % (3, number)
'26.034'
>>> '%.*f' % (2, number)
'26.03'
>>> '%.*f' % (1, number)
'26.0'
答案 2 :(得分:3)
对于Python 3.6+,您可以使用f字符串样式格式化程序来完成此操作:
num = 0.123456789
precision = 3
print(f"{num:.{precision}f}")
输出:
0.123