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

时间:2011-05-27 07:13:48

标签: python string programming-languages floating-point

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

12 个答案:

答案 0 :(得分:205)

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

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

答案 1 :(得分:120)

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

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

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

答案 2 :(得分:31)

f-string格式化:

这是Python 3.6中的新功能 - 字符串像往常一样放在引号中,前缀为f'...,与原始字符串r'...的方式相同。然后你把你想放在你的字符串,变量,数字,内部大括号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!

您可以在此示例中看到我们format with decimal places与以前的字符串格式化方法类似。

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

展望未来,新代码f字符串应该优于常见的%s或str.format()方法,因为f字符串很多faster

答案 3 :(得分:6)

字符串格式:

print "%.2f" % 5

答案 4 :(得分:4)

使用python字符串格式。

>>> "%0.2f" % 3
'3.00'

答案 5 :(得分:1)

使用Python 3语法:

<div contenteditable="true">
   Hallo, <span class="label">Name</span>|,
   this is a demonstration of placeholders!
   Sincerly, your
   <span class="label">Author</span>
</div>

答案 6 :(得分:1)

如果您实际上是要更改数字本身,而不是只显示不同的数字,请使用format()

将其格式化为小数点后两位:

format(value, '.2f')

example:

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

答案 7 :(得分:1)

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

Python 3:


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

#output:  
0.12_0.13

答案 8 :(得分:1)

字符串格式:

a = 6.789809823
print('%.2f' %a)

OR

print ("{0:.2f}".format(a)) 

可以使用圆形功能:

print(round(a, 2))

round()的好处是,我们可以将结果存储到另一个变量中,然后将其用于其他目的。

b = round(a, 2)
print(b)

答案 9 :(得分:1)

最短的Python 3语法:

n = 5
print(f'{n:.2f}')

答案 10 :(得分:0)

在 Python 3 中

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

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

答案 11 :(得分:-1)

如果要获取在调用输入时限制两个小数位的浮点值,

检查一下〜

a = eval(format(float(input()), '.2f'))   # if u feed 3.1415 for 'a'.
print(a)                                  # output 3.14 will be printed.