我一直在使用这种格式:
print 'blah, blah %f' %variable
将变量放入字符串。我听说它比'+ str()+'方法更加pythonic,并且已经习惯了它。 有没有办法用%f指定添加到字符串的小数位?我在提供变量之前尝试过舍入数字。
由于
答案 0 :(得分:10)
>>> variable = 12
>>> print 'blah, blah %4.3f' %variable
blah, blah 12.000
>>> print 'blah, blah %1.1f' %variable
blah, blah 12.0
以下是Python Doc Link,请考虑:
由于str.format()很新,很多Python代码仍然使用% 运营商。但是,因为这种旧的格式化方式会 最终会从语言中删除,str.format()一般应该 使用。
答案 1 :(得分:4)
在Python 2.6及更高版本中,您可以使用:
>>> print('blah, blah {0:.2f}'.format(variable))
其中“0”表示传入str.format的第一个值,“:”表示“此处为格式规范”,“。2f”表示“具有两个小数位精度的浮点数”。这是现在格式化字符串的建议方法。
答案 2 :(得分:1)
对于Python 3.6及更高版本,还可以选择使用f字符串,其工作方式与Kirk Strauser在回答中显示的方式非常相似
print(f'blah, blah {variable:.2f}')