可以在Python中使用变量来定义小数位

Kir*_*ers 13 python floating-point

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

nne*_*neo 25

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

'{:.{prec}f}'.format(26.034, prec=3)
Run Code Online (Sandbox Code Playgroud)


Nic*_*las 11

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

>>> number = 26.034
>>> '%.*f' % (3, number)
'26.034'
>>> '%.*f' % (2, number)
'26.03'
>>> '%.*f' % (1, number)
'26.0'
Run Code Online (Sandbox Code Playgroud)


AnT*_*AnT 6

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

num = 0.123456789
precision = 3
print(f"{num:.{precision}f}")
Run Code Online (Sandbox Code Playgroud)

输出:

0.123
Run Code Online (Sandbox Code Playgroud)