python保留小数位
前言
保留小数位是我们经常会碰到的问题,尤其是刷题过程中。那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法:
方法一:format函数
>>> print('{:.3f}'.format(1.23456)) 1.235 >>> print(format(1.23456, '.2f')) 1.23
正如上面代码所示,format有不同用法,前者使用了占位符{},使用占位符可以同时输出多个,后者一次只能输出一个,需要注意的是占位符中的冒号不能丢。笔者推荐使用占位符+format输出。
>>> print('{:.3f} {:.2f}'.format(1.23456, 1.23456)) 1.235 1.23
方法二:'%.xf'方法
>>> print('%.2f' % 1.23456) 1.23
这种方法同样比较简单直观,看大家习惯选择吧,笔者还是习惯第一种方法。
方法三:round()函数
>>> print(round(1.23456,3)) 1.235 >>> print(round(2.355,2)) 2.35 >>> print(round(2.5)) 2 >>> print(round(3.5)) 4
round()函数比较迷,它不完全是按照四舍五入的原则来进位的,因此不建议大家使用。它的保留值将保留到离上一位更近的一端(四舍六入),如果距离两端一样远,则会保留到偶数的一边。好了笔者也要绕晕了,反正笔者是不会用这种方法的。