如何显示两位小数的浮点数?

242 投票
13 回答
606639 浏览
提问于 2025-04-16 18:27

我有一个函数,它接收浮点数作为参数(通常是整数或者小数,最多一位有效数字),我需要把这些值输出成字符串,并且保留两位小数(比如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'

这个运算符的结果是一个字符串,所以你可以把它存储在一个变量里,或者打印出来等等。

撰写回答