Ale*_*lli 89
这是一个典型的,有用的例子......:
>>> n = 4
>>> p = math.pi
>>> '{0:.{1}f}'.format(p, n)
'3.1416'
嵌套{1}采用第二个参数,n的当前值,并按指定应用它(此处,格式的"精度"部分 - 小数点后的位数),{0:.4f}然后应用外部结果.当然,你可以硬编码4,如果你希望(数字或任何号码),但关键的问题是,你不具备对!
更好......:
>>> '{number:.{digits}f}'.format(number=p, digits=n)
'3.1416'
...而不是像上面的0和1那样模糊的"参数数字",你可以选择使用闪亮的参数名称,并将相应的值作为关键字(也称为" 命名 ")参数传递给format- 可以这样你看到的更具可读性!
Don*_*ell 17
在Python 3.xa格式字符串中包含由括号指示的替换字段::
".... {0: format_spec} ....".format(value)
格式规范具有一般布局:
[[fill]align][sign][pad][width][,][.precision][type]
因此,例如,除了宽度,精度和类型代码之外的所有其他内容,十进制或浮点数可以格式化为:
>>>print("The value of pi is {0:10.7f} to 7 decimal places.".format(math.pi))
这将打印为:
The value of pi is  3.1415927 to 7 decimal places.
小智 17
基于 [Alex Martelli] 的解决方案但使用 Python 3.6.2 的更新答案及其更新的格式语法我建议:
>>> n=4
>>> p=math.pi
>>> f'{p:.{n}f}'
'3.1416'
但是通过明智地选择您的变量,您的代码将成为自我记录的
>>> precision = 4
>>> pi = math.pi
>>> f'{pi:.{precision}f}'
'3.1416'
要将 x 舍入到 n 位小数,请使用:
"{0:.{1}f}".format(x,n)
其中 0 和 1 分别代表 str.format() 方法的第一个和第二个参数。
| 归档时间: | 
 | 
| 查看次数: | 52368 次 | 
| 最近记录: |