zoukankan      html  css  js  c++  java
  • python 取整函数

    向下取整的运算称为Floor,用数学符号⌊⌋表示;向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如:

    ⌊59/60⌋=0

    ⌈59/60⌉=1

    ⌊-59/60⌋=-1

     ⌈-59/60⌉=0

     向上向下 取整函数数只会对小数点后面的 数字不为零 的数进行操作,

    要是给它一个整数 它就返回整数本身
    对小数不为零的数操作:
    给定 4.9
    调用用向下取整函数 得到的是 4
    调用用向上取整函数 得到的是 5

    • 向上取整:比自己大的最小整数;
    • 向下取整:比自己小的最大整数;
    • 四舍五入:更接近自己的整数;

     废话少叙,直接上code:

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

    向上取整: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)/2这类的边界计算,这时候我们想让这个-0.5取整至0,而且想让(4-1)/2的结果1.5取整至1,即正数时向下取整,负数时向上取整,总而言之就是向0取整,这时候我们可以用int()

    https://blog.csdn.net/weixin_41712499/article/details/85208928

  • 相关阅读:
    vsphere client cd/dvd 驱动器1 正在连接
    使用SecureCRT上传和下载文件
    java android 将 List中元素互换位置
    java中Math常用方法
    关于View转化成bitmap保存成图片
    Java中Math类的几个四舍五入方法的区别
    Math.round(),Math.ceil(),Math.floor()的区别
    动态的添加ImageView到LinearLayout中并居中显示
    android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
    Android 代码设置RelativeLayout元素居中
  • 原文地址:https://www.cnblogs.com/abels0025/p/11278562.html
Copyright © 2011-2022 走看看