python取整数_python中如何取整数

首先,不得不提醒大家一个容易被忽视或者搞混的问题——一般的,0.5这种末尾是5的小数,四舍五入取整应进位。这个进位的意思是:-0.5 → -1;0.5 → 1.即正负情况不同,都向着远离0,使得绝对值更大的方向进位

9cb74eb6156593fee49b15b61c786856.png

向上取整:math.ceil()import math

math.ceil(-0.5)

>>> 0

math.ceil(-0.9)

>>> 0

math.ceil(0.3)

>>> 1

如code所见,math.ceil()严格遵循向上取整,所有小数都是向着数值更大的方向取整,不论正负数都如此

四舍五入:round()round(-2.5)

>>> -2

round(-1.5)

>>> -2

round(-0.5)

>>> 0

round(0.5)

>>> 1

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的处理结果)。

向下取整:math.floor()math.floor(-0.3)

>>> -1

math.floor(0.9)

>>> 0

简单且忠实地向下取整,不再讨论

两个有趣且特殊的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()处理结果一样

总结一下:

向上取整:math.ceil()

向下取整:math.floor()、整除"//"

四舍五入:round()——奇数向远离0取整,偶数去尾取整;或言之:奇数进位,偶数去尾

向0取整:int()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值