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