我有一个函数接受浮点参数(通常是整数或有一个有效数字的小数),我需要在一个有两位小数的字符串中输出值(5→5.00,5.5→5.50等)。如何在Python中做到这一点?
当前回答
字符串格式:
a = 6.789809823
print('%.2f' %a)
OR
print ("{0:.2f}".format(a))
Round函数可以使用:
print(round(a, 2))
round()的好处是,我们可以将这个结果存储到另一个变量中,然后将它用于其他目的。
b = round(a, 2)
print(b)
使用round() -主要用于显示目的。
其他回答
字符串格式:
print "%.2f" % 5
使用Python 3语法:
print('%.2f' % number)
如果你真的想改变数字本身,而不是仅仅以不同的方式显示它,请使用format()
格式为小数点后2位:
format(value, '.2f')
例子:
>>> format(5.00000, '.2f')
'5.00'
Python 3
print(f"{number:.2f}")
一种更简短的格式化方法。
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-字符串可以更易于阅读,而且通常更快。
推荐文章
- 如何排序mongodb与pymongo
- 不可变与可变类型
- 列表是线程安全的吗?
- 操作系统。makdirs在我的路径上不理解“~”
- 如何在Django模板中获得我的网站的域名?
- 如何删除表中特定列的第一个字符?
- 在django Forms中定义css类
- 如何在Python中scp ?
- Numpy Max vs amax vs maximum
- 我应该如何从字符串中删除所有的前导空格?- - - - - -斯威夫特
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 每n行有熊猫
- 实例属性attribute_name定义在__init__之外
- 如何获取在Python中捕获的异常的名称?
- 第一次出现的值大于现有值的Numpy