python除法,以及对结果的各种ROUND操作

2019年10月19日 / 13次阅读 / Last Modified 2019年10月23日
数值计算

python语法中,使用 / 表示真除法,得到的结果一定是一个浮点数对象float。

>>> 1/1
1.0
>>> 1/2
0.5
>>> 1/3
0.3333333333333333
>>> 1/4
0.25
>>> 1/5
0.2
>>> 10/1
10.0
>>> -10/1
-10.0

结果一定是一个float。

如果使用 //,并不是取商,而是对除法的结果进行去掉小数点的ROUND FLOOR操作。 我们再看看 // 的运算结果:

>>> 1//1
1
>>> 1//2
0
>>> 5//2
2
>>> 7//2
3
>>> -5//2
-3
>>> -7//2
-4

ROUND FLOOR,就是对一个浮点数,向下取整。

如果只想获得除法的商,建议使用int()函数,int()函数默认采用ROUND DOWN,向0方向取整,这种截取方式不会增加数值,得到的结果就是妥妥的商。

>>> int(-7/2)
-3
>>> int(-5/2)
-2
>>> int(-9/2)
-4
>>> int(9/2)
4

如果想保留几位小数点,可以使用python内置的round函数。不过,round函数并不是做四色五入,而是采用ROUND HALF EVEN的舍入方式。(python实现浮点数四色五入的方法

计算是一件讲究的事情,一定要搞清楚各种计算符号背后的准确含义,否则bug就可能会隐藏在最深处。截止到目前,本小站已经介绍了ROUND HALF EVEN,ROUND DOWN,ROUND FLOOR,这几种ROUND方式在python中的支持,不需要引入任何库。

-- EOF --

本文链接:https://www.pynote.net/archives/1356

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More

麦新杰的Python笔记

Ctrl+D 收藏本页


©Copyright 麦新杰 Since 2019 Python笔记

go to top