Python取整——向上取整、向下取整、四舍五⼊取整、向0取整废话少叙,直接上code:
⾸先,不得不提醒⼤家⼀个容易被忽视或者搞混的问题——⼀般的,0.5这种末尾是5的⼩数,四舍五⼊取整应进位。这个进位的意思是:-
0.5 → -1;0.5 → 1.即正负情况不同,都向着远离0,使得绝对值更⼤的⽅向进位
1、向上取整:il()
import math
>>> 0
>>> 0
>>> 1
如code所见,il()严格遵循向上取整,所有⼩数都是向着数值更⼤的⽅向取整,不论正负数都如此
2、四舍五⼊:round()
round(-2.5)
>>> -2
round(-1.5)
>>> -2
round(-0.5)
>>> 0
round(0.5)
>>> 0
round(1.5)
>>> 2
round(2.5)
>>> 2
如code所⽰,round()当不传⼊第⼆个参数时默认取整,具体就是按照四舍五⼊来。但值得⼀提的是这⾥对⼩数末尾为5的处理⽅法:当末尾的5的前⼀位为奇数:向绝对值更⼤的⽅向取整(⽐如-1.5、1.5处理结果);当末尾的5的前⼀位为偶数:去尾取整(⽐如-2.5,-0.5,0.5和
2.5的处理结果)。
3、向下取整:math.floor()
math.floor(-0.3)
>>> -1
math.floor(0.9)
>>> 0
简单且忠实地向下取整,不再讨论
4、分别取整数部分和⼩数部分
有时候我们可能需要分别获取整数部分和⼩数部分,这时可以⽤ math 模块中的 modf() ⽅法,该⽅法返回⼀个包含⼩数部分和整数部分的元组:
>>> import math
>>> df(3.25)
(0.25, 3.0)
>>> df(3.75)
(0.75, 3.0)
>>> df(4.2)
(0.20000000000000018, 4.0)
PS:两个有趣且特殊的Python取整:int()、整除"//"
int()
int(-0.5)
>>> 0
int(-0.9)
>>> 0
int(0.5)
>>> 0
int(0.9)
>>> 0
⼀句话总结:int()函数是“向0取整”,取整⽅向总是让结果⽐⼩数的绝对值更⼩
"//"
(-1) // 2  # -0.5
>>> -1
(-3) // 2  # -1.5
>>> -2
1 //
2    # 0.5
>>> 0
3 // 2    # 1.5
>>> 1
⼀句话总结:“整除”符号运算将结果忠实地向下取整,与math.floor()处理结果⼀样
python round函数怎么使用总结⼀下:
向上取整:il()
向下取整:math.floor()、整除"//"
四舍五⼊:round()——奇数向远离0取整,偶数去尾取整;或⾔之:奇数进位,偶数去尾
向0取整:int()
由于最近在做算法题,许多算法题都要涉及(0-1)/2这类的边界计算,这时候我们想让这个-0.5取整⾄0,⽽且想让(4-1)/2的结果1.5取整⾄1,即正数时向下取整,负数时向上取整,总⽽⾔之就是向0取整,这时候我们可以⽤int()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。