问题:在Python中显示带有两位小数的浮点数
我有一个带浮点参数的函数(通常是整数或具有一位有效数字的十进制数),我需要在字符串中输出具有两位小数位的值(5-> 5.00、5.5-> 5.50等)。如何在Python中做到这一点?
回答 0
您可以为此使用字符串格式运算符:
>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'
运算符的结果是一个字符串,因此您可以将其存储在变量中,进行打印等。
回答 1
由于这篇文章可能会在这里出现一段时间,因此我们还要指出python 3语法:
"{:.2f}".format(5)
回答 2
f字符串格式:
这是Python 3.6中的新功能-照常将字符串放在引号中,并f'...
以与r'...
原始字符串相同的方式加上前缀。然后,将任何要放入字符串,变量,数字,大括号内的内容放入其中-Python会f'some string text with a {variable} or {number} within that text'
像以前的字符串格式化方法那样进行求值,只是该方法更具可读性。
>>> 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字符串可以更容易阅读,并且通常更快。
回答 3
字符串格式:
print "%.2f" % 5
回答 4
使用python字符串格式。
>>> "%0.2f" % 3
'3.00'
回答 5
字符串格式:
a = 6.789809823
print('%.2f' %a)
要么
print ("{0:.2f}".format(a))
舍入函数可以使用:
print(round(a, 2))
round()的好处是,我们可以将结果存储到另一个变量中,然后将其用于其他目的。
b = round(a, 2)
print(b)
回答 6
最短的Python 3语法:
n = 5
print(f'{n:.2f}')
回答 7
如果您实际上想更改数字本身,而不是只显示不同的数字,请使用format()
将其格式化为2位小数:
format(value, '.2f')
例:
>>> format(5.00000, '.2f')
'5.00'
回答 8
我知道这是一个古老的问题,但我一直在努力寻找答案。这是我想出的:
Python 3:
>>> num_dict = {'num': 0.123, 'num2': 0.127}
>>> "{0[num]:.2f}_{0[num2]:.2f}".format(num_dict)
0.12_0.13
回答 9
使用Python 3语法:
print('%.2f' % number)
回答 10
如果要在调用输入时获得一个小数点后两位数限制的浮点值,
看看这个〜
a = eval(format(float(input()), '.2f')) # if u feed 3.1415 for 'a'.
print(a) # output 3.14 will be printed.