python中取整数的几种方法(python怎么取整)

一、向零取整:int()python自带的int()取整>>>int(1.2)1>>>int(2.8)2>>>int(-0.1)0>>>int(-5.6)-5总结:int()函数是“向0取整”,取整方向总是让结果比小数的绝对值更小二、向上取整:math.ceil()>>>importmath&gt…

大家好,又见面了,我是你们的朋友全栈君。

一、向零取整:int()

python自带的int()取整

>>> int(1.2)

1

>>> int(2.8)

2

>>> int(-0.1)

0

>>> int(-5.6)

-5

总结:int()函数是“向0取整”,取整方向总是让结果比小数的绝对值更小

二、向上取整:math.ceil()

>>> import math

>>>

>>> math.ceil(0.6)

1

>>> math.ceil(1.1)

2

>>> math.ceil(3.0)

3

>>> math.ceil(-0.3)

0

>>> math.ceil(-5.1)

-5

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

三、向下取整:math.floor() , “//”

>>> import math

>

>>> math.floor(0.5)

0

>>> math.floor(1.2)

1

>>> math.floor(-0.9)

-1

>>> math.floor(-3.0)

-3

>>> math.floor(-3.1)

-4

总结:math.floor()严格遵循向下取整,所有小数都是向着数值更小的方向取整,不论正负数都如此

再看看python的取整“//“,同样是向下取整,记住啊:

>>> 5//3

1

>>> 1//5

0

>>> 8//4

2

>>> -6//5

-2

>>> -8//9

-1

>>> -8//2

-4

四、四舍五入 round(x,[.n])

>>> round(1.1)

1

>>> round(4.5)

4

>>> round(4.51)

5

>>> round(-1.3)

-1

>>> round(-4.5)

-4

>>> round(-4.51)

-5

>>> round(1.248,2)

1.25

>>> round(1.241,2)

1.24

>>> round(-1.248,1)

-1.2

>>> round(1.25,1)

1.2

>>>

这里注意:round(4.5)的结果是4,round(4.51)的结果才是5,这里要看5后面的数字,只有大于5时才进1,恰好等于5时还是舍去的。这与我们字面上理解的”五入“有所出入(Python 3.7.4)。

五、分别取整数和小数部分 math.modf()

>>> math.modf(100.123)

(0.12300000000000466, 100.0)

>>> math.modf(-100.123)

(-0.12300000000000466, -100.0)

>>>

math.modf()函数得到一个(x,y)的元组,x为小数部分,y为整数部分(这里xy均为float浮点数)

注意:结果是”小数+整数“,而非”整数+小数“。

六、%求模

python运算符%取模 – 返回除法的余数

>>> 5%2

1

>>> 0.5%2

0.5

>>> 5.3%2

1.2999999999999998“`

正数很好理解,这里返回的余数时一个无线接近结果的近似值。

“`python

>>> -2.5%8

5.5

>>> -3.2%2

0.7999999999999998

>>> 5%-2

-1

>>> 5%(-3)

-1

>>> 5.2%-2

-0.7999999999999998

>>> -8%-3

-2

>>> -2%-8

-2

>>> -2%-9

-2

懵了,为什么不是:-2.5和-1.2,而是:5.5和0.8?

求模运算规则是由除法规则定的:

模=被除数-除数×商

这里的”商”的值其本质是由python的整除//采取的向下取整算法决定的。所以,整理下公式就是这样的:

模=被除数-除数×(被除数//除数)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS 系统创建网卡bond0「建议收藏」

    1、进入系统,查看网络配置用root进行登录以后,用ipa指令查看网络以及网卡的光口名。从下图可以发现一共有5个口的信息,其中eno1和eno2是主板的板载网口,目前多是千兆网口,剩下两个则是我们需要的网络光口名。2、查看到这些信息后需要进入配置设置cd/etc/sysconfig/network-scripts/#进入系统网络配置的文件夹ls#查看有哪些文件通常是会有两个ifcfg-光口名这样…

    2022年4月12日
    131
  • 石头剪刀布c++实现

    石头剪刀布c++实现问题描述:编写一个程序,玩“石头”“剪刀”“布”的游戏,在这个游戏中,两位玩家通时说出“石头”“剪刀”“布”如果一位玩家所选的对象击败了另一个玩家所选的对象,那么前者就是赢家,规则是:布吃石头,石头吃剪刀剪刀吃布,为选择的对象和最终的结果使用枚举,使用标准头文件中定义的ran()函数,为计算生成随机的选择。输入:chooseeitherrock,shear,cloth(R/

    2022年7月24日
    36
  • Activity 跳转的生命周期变化

    Activity 跳转的生命周期变化####(1)Activity1跳转到Activity2的生命周期流程1.Activity1启动:Activity1:onCreate()Activity1:onStart()Activity1:onResume()2.点击按钮跳转到Activity2:Activity1:onPause()Activity2:…

    2022年5月21日
    48
  • android 定时器重置,Android定时器延迟和重置[通俗易懂]

    android 定时器重置,Android定时器延迟和重置[通俗易懂]我确定在这里的某处有类似的问题,但我似乎无法找到它。Android定时器延迟和重置这是我正在尝试做的。假设我已连接到服务器,并且如果在过去5分钟内没有用户拨打任何电话,我想断开连接。但是,如果连一个单一的呼叫时,5分钟计时器将复位,倒计时5将重新开始..它似乎很简单,但我是一种新的Android和试图搞清楚这些事情..在此先感谢!=======编辑所以这里的什么我想要做的代码的例子。try{cl…

    2022年7月25日
    15
  • 生活角色主要包括哪些内容_简要介绍眼睛是的体位分类

    生活角色主要包括哪些内容_简要介绍眼睛是的体位分类ILSVRC2012数据集(分类部分)简要介绍和初步处理简介即大名鼎鼎ImageNet2012竞赛的数据集,在图像分类数据集中属于最常用的跑分数据集和预训练数据集。主要内容可以参考ILSVRC2012_devkit_t12.gz的readme.txt和中文翻译版内容详解下载的文件主要包括以下几个文件:ILSVRC2012_img_train.tarILSVRC2012_img_val.tarILSVRC2012_img_test.tarILSVRC2012_devkit

    2022年10月21日
    1
  • Office2007集成SP1光盘镜像下载(简体中文专业版+企业版VOL)「建议收藏」

    Office2007集成SP1光盘镜像下载(简体中文专业版+企业版VOL)「建议收藏」MicrosoftOffice2007sp1简体中文专业版http://www.namipan.com/d/fe0fb8a3037fc08c9bbec2cce55296b60160be5d0000763aMicrosoftOffice2007sp1简体中文企业版http://www.namipan.com/d/a25862908b03e67f02249e96b3e9a086…

    2022年7月19日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号