python保留小数位

Posted Marvin-wen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()函数比较迷,它不完全是按照四舍五入的原则来进位的,因此不建议大家使用。它的保留值将保留到离上一位更近的一端(四舍六入),如果距离两端一样远,则会保留到偶数的一边。好了笔者也要绕晕了,反正笔者是不会用这种方法的。

以上是关于python保留小数位的主要内容,如果未能解决你的问题,请参考以下文章

如何在Python中保留小数?

python中保留几位小数进行四舍五入的round函数自身的源代码是啥?

%f输出的小数,小数点后保留多少位?

python之设置小数保留位数

python 小数保留位数

Python取整及保留小数小结