我有一个接受浮点参数的函数(通常是整数或小数,其中有一个有效数字),我需要输出字符串中的值,其中有两位小数(5→5.00,5.5→5.50等)。我如何在Python中做到这一点?
发布于 2011-05-27 15:15:31
为此,您可以使用字符串格式化运算符:
>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'
运算符的结果是一个字符串,因此您可以将其存储在变量中,打印等。
发布于 2011-05-27 15:22:59
由于这篇文章可能会持续一段时间,让我们也指出python 3的语法:
"{:.2f}".format(5)
发布于 2017-09-30 03:06:15
f-string格式设置:
这是Python3.6中的新特性--字符串像往常一样放在引号中,以f'...
作为前缀,就像对原始字符串使用r'...
一样。然后你把你想放在你的字符串中的任何东西,变量,数字,大括号f'some string text with a {variable} or {number} within that text'
-和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!
您可以在这个示例中看到,我们使用与前面的字符串格式化方法类似的方式进行format with decimal places。
foobar
可以是一个数字,变量,甚至是一个表达式,例如f'{3*my_func(3.14):02f}'
。
展望未来,在新代码中,我更喜欢f字符串而不是普通的%s或str.format()方法,因为f字符串的可读性更强,而且通常更像faster。
https://stackoverflow.com/questions/6149006
复制相似问题