2019年10月19日 / 114次阅读 / 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
前一篇:如何让tkinter窗口最小化
后一篇:python获取屏幕的分辨率
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记