string - 在Python中显示带有两个小数位的浮点数

我有一个函数采用浮点数参数(通常是带有一个有效数字的整数或小数),我需要输出一个带有两个小数位(5 - > 5.00,5.5 - > 5.50等)的字符串中的值。 我怎么能用Python做到这一点?

8个解决方案
199 votes

由于这篇文章可能会在这里发表一段时间,让我们也指出python 3语法:

"{:.2f}".format(5)
Daren Thomas answered 2019-09-08T22:00:13Z
120 votes

您可以使用字符串格式化运算符:

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

运算符的结果是一个字符串,因此您可以将其存储在变量,打印等中。

NPE answered 2019-09-08T21:59:49Z
27 votes

f字符串格式:

这是Python 3.6中的新功能 - 字符串像往常一样放在引号中,前缀为a,与原始字符串的f'{3*my_func(3.14):02f}'相同。 然后你放置你想要放在你的字符串,变量,数字,内括号f'some string text with a {variable} or {number} within that text'中的任何内容 - 并且Python的评估与之前的字符串格式化方法一样,除了这个方法更具可读性。

>>>a = 3.141592
>>>print(f'My number is {a:.2f} - look at the nice rounding!')

My number is 3.14 - look at the nice rounding!

您可以在此示例中看到,我们使用与先前字符串格式化方法类似的方式格式化小数位。

NB a可以是数字,变量或甚至表达式,例如f'{3*my_func(3.14):02f}'

接下来,使用新代码f字符串应优先于常见的%s或str.format()方法,因为f字符串要快得多。

toonarmycaptain answered 2019-09-08T22:01:03Z
6 votes

字符串格式:

print "%.2f" % 5
bradley.ayers answered 2019-09-08T22:01:27Z
4 votes

使用python字符串格式。

>>> "%0.2f" % 3
'3.00'
kevpie answered 2019-09-08T22:01:51Z
1 votes

使用Python 3语法:

print('%.2f' % number)
S. Roelofs answered 2019-09-08T22:02:14Z
1 votes

如果您确实想要更改数字本身而不是仅以不同方式显示它,请使用format()

将其格式化为2位小数:

format(value, '.2f')

example:

>>> format(5.00000, '.2f')
'5.00'
Josh answered 2019-09-08T22:02:45Z
0 votes

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

Python 3:


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

#output:  
0.12_0.13
Vasiliy Triandafilidi answered 2019-09-08T22:03:15Z
translate from https://stackoverflow.com:/questions/6149006/display-a-float-with-two-decimal-places-in-python