python保留两位小数的3种方法实例
1.’%.2f’%f
该方法会进行四舍五入
代码如下所示:
f = 2.3456789
print('%.2f'%f)
print('%.3f'%f)
print('%.4f'%f)
结果如下所示
2.35
2.346
2.3457
2.format函数
该方法也会进行四舍五入
代码如下所示:
f = 2.3456789
print('{:.2f}'.format(f))
print('{:.3f}'.format(f))
print('{:.4f}'.format(f))
结果如下图所示
2.35
2.346
2.3457
3.round函数(不推荐使用)
round函数带有一点点的小坑,不是很推荐使用
round函数的进位规则一般为’四舍六入五凑偶’
代码如下图所示:
print(round(2.25,1))
print(round(2.35,1))
print(round(2.125,2))
print(round(2.875,2))
结果如下图所示:
2.2
2.4
2.12
2.88
这与我们的结论没有出入,但我们换一下数据,再看一下结果
print(round(2.335,2))
print(round(2.225,2))
2.33
2.23
这里就与我们的结论不一致,原因是在机器中浮点数不一定被精确的表达,在转换成01后可能为无限位,机器会进行截断处理,所以会和浮点数的精确值有一定的出入,从而达不到我们预期的目标
所以如果对浮点数没有精度要求时可以使用round函数
如果对浮点数的精度要求较高,推荐使用decimal模块
附:Python round() 函数
描述
round() 方法返回浮点数x的四舍五入值。
语法
以下是 round() 方法的语法:
round( x [, n] )
参数
- x -- 数值表达式。
- n -- 数值表达式,表示从小数点位数。
返回值
返回浮点数x的四舍五入值。
实例
以下展示了使用 round() 方法的实例:
#!/usr/bin/python
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)
以上实例运行后输出结果为:
round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
总结
到此这篇关于python保留两位小数的3种方法的文章就介绍到这了,更多相关python保留两位小数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341