Python - 小数位(将浮点数放入字符串)
我一直在用这种格式:
print 'blah, blah %f' %variable
把变量放进字符串里。我听说这种方式比用'+str()+'的方法更符合Python的风格,所以我已经习惯了。请问有没有办法在用%f的时候指定小数点后面的位数?我试过在给变量之前先把数字四舍五入。
谢谢
3 个回答
2
对于Python 3.6及以上版本,还有一种叫做f-strings的写法,它的用法和Kirk Strauser在他的回答中展示的方式非常相似。
print(f'blah, blah {variable:.2f}')
6
在Python 2.6及更新的版本中,你可以使用:
>>> print('blah, blah {0:.2f}'.format(variable))
这里的“0”指的是传入str.format的第一个值,“:”表示“接下来是格式说明”,而“.2f”则意味着“这是一个浮点数,保留两位小数”。现在,这种格式化字符串的方法是推荐的方式。
11
>>> variable = 12
>>> print 'blah, blah %4.3f' %variable
blah, blah 12.000
>>> print 'blah, blah %1.1f' %variable
blah, blah 12.0
这里有一个Python文档链接,请注意:
因为str.format()是比较新的功能,所以很多Python代码还是在用%这个符号来格式化字符串。不过,由于这种旧的格式化方式最终会被从语言中移除,所以一般来说,应该使用str.format()。