我有一个函数接受浮点参数(通常是整数或有一个有效数字的小数),我需要在一个有两位小数的字符串中输出值(5→5.00,5.5→5.50等)。如何在Python中做到这一点?
当前回答
因为这篇文章可能会在这里一段时间,让我们也指出python 3的语法:
"{:.2f}".format(5)
其他回答
f-string格式:
这是Python 3.6中的新功能——字符串像往常一样放在引号中,前面加上f'…以同样的方式你会……对于一个原始字符串。然后你在字符串中放入你想要放入的任何东西,变量,数字,括号内的一些字符串文本,在该文本中带有{variable}或{number}——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!
在这个示例中,您可以看到我们使用与前面的字符串格式化方法类似的方式对小数进行格式化。
foobar可以是一个数字,变量,甚至是一个表达式,例如f'{3*my_func(3.14):02f}'。
展望未来,在新的代码中,我更喜欢f-字符串而不是普通的%s或str.format()方法,因为f-字符串可以更易于阅读,而且通常更快。
使用Python 3语法:
print('%.2f' % number)
你可以使用字符串格式化操作符:
>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'
操作符的结果是一个字符串,所以你可以把它存储在一个变量中,打印等等。
我知道这是一个老问题,但我自己也在努力寻找答案。以下是我的想法:
Python 3:
>>> num_dict = {'num': 0.123, 'num2': 0.127}
>>> "{0[num]:.2f}_{0[num2]:.2f}".format(num_dict)
0.12_0.13
Python 3
print(f"{number:.2f}")
一种更简短的格式化方法。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- Printf与std::字符串?
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if