Python - decimal places (putting floats into a str

2020-04-05 07:57发布

I have been using the format:

print 'blah, blah %f' %variable

to put variables into strings. I heard it was more pythonic than the '+str()+' approach, and have got quite used to it. Is there a way of specifying the decimal places added to the string with %f? I have tried rounding the number before supplying the variable.

Thanks

2条回答
\"骚年 ilove
2楼-- · 2020-04-05 08:38

In Python version 2.6 and newer, you can use:

>>> print('blah, blah {0:.2f}'.format(variable))

where "0" refers to the first value passed into str.format, ":" says "here comes the format specification", and ".2f" means "floating point number with two decimal places of precision". This is the suggested way of formatting strings now.

查看更多
We Are One
3楼-- · 2020-04-05 09:00
>>> variable = 12
>>> print 'blah, blah %4.3f' %variable
blah, blah 12.000
>>> print 'blah, blah %1.1f' %variable
blah, blah 12.0

Here is the Python Doc Link, please consider:

Since str.format() is quite new, a lot of Python code still uses the % operator. However, because this old style of formatting will eventually be removed from the language, str.format() should generally be used.

查看更多
登录 后发表回答