Python - 小数位(将浮点数放入字符串)

时间:2011-07-11 11:45:16

标签: python string floating-point

我一直在使用这种格式:

print 'blah, blah %f' %variable

将变量放入字符串。我听说它比'+ str()+'方法更加pythonic,并且已经习惯了它。 有没有办法用%f指定添加到字符串的小数位?我在提供变量之前尝试过舍入数字。

由于

3 个答案:

答案 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}')