我有一个函数接受浮点参数(通常是整数或有一个有效数字的小数),我需要在一个有两位小数的字符串中输出值(5→5.00,5.5→5.50等)。如何在Python中做到这一点?


当前回答

我知道这是一个老问题,但我自己也在努力寻找答案。以下是我的想法:

Python 3:

>>> num_dict = {'num': 0.123, 'num2': 0.127}
>>> "{0[num]:.2f}_{0[num2]:.2f}".format(num_dict) 
0.12_0.13

其他回答

如果你真的想改变数字本身,而不是仅仅以不同的方式显示它,请使用format()

格式为小数点后2位:

format(value, '.2f')

例子:

>>> format(5.00000, '.2f')
'5.00'

Python 3

print(f"{number:.2f}")

一种更简短的格式化方法。

因为这篇文章可能会在这里一段时间,让我们也指出python 3的语法:

"{:.2f}".format(5)

使用Python 3语法:

print('%.2f' % number)

你可以使用字符串格式化操作符:

>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'

操作符的结果是一个字符串,所以你可以把它存储在一个变量中,打印等等。