如何显示两位小数的浮点数?
我有一个函数,它接收浮点数作为参数(通常是整数或者小数,最多一位有效数字),我需要把这些值输出成字符串,并且保留两位小数(比如5变成5.00,5.5变成5.50,等等)。我该怎么在Python中做到这一点呢?
13 个回答
158
f-string 格式化:
这个功能是在 Python 3.6 中新加入的 - 字符串和以前一样用引号括起来,但前面加个 f'...
,就像你用 r'...
来表示原始字符串一样。然后你可以把想放进字符串里的内容,比如变量、数字,放在大括号里 f'一些字符串文本,里面有一个 {variable} 或 {number}'
- Python 会像以前的字符串格式化方法那样处理这些内容,不过这个方法看起来更清晰。
>>> foobar = 3.141592
>>> print(f'My number is {foobar:.2f} - look at the nice rounding!')
My number is 3.14 - look at the nice rounding!
在这个例子中,你可以看到我们用 小数位格式化,和以前的字符串格式化方法类似。
注意 foobar
可以是一个数字、变量,甚至是一个表达式,比如 f'{3*my_func(3.14):02f}'
。
以后在写新代码时,我更喜欢用 f-strings,而不是常见的 %s 或 str.format() 方法,因为 f-strings 更容易读懂,而且通常运行速度也更快 。
389
因为这个帖子可能会存在一段时间,所以我们也来看看Python 3的语法:
"{:.2f}".format(5)
203
你可以使用字符串格式化运算符来实现这个功能:
>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'
这个运算符的结果是一个字符串,所以你可以把它存储在一个变量里,或者打印出来等等。