如何使用Python 3.0 format
函数将小数舍入到特定数量的小数位?
这是一个典型的,有用的例子......:
>>> 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
- 可以这样你看到的更具可读性!
在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.