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的整除//采取的向下取整算法决定的。所以,整理下公式就是这样的:

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • Xmind 2021快捷键

    Xmind 2021快捷键Xmind2021快捷键(同时按住;与按键字母大小无关)文件操作新建ctrl+n新建标签页ctrl+t打开ctrl+o保存ctrl+s另存为ctrl+shift+s关闭窗口ctrl+w编辑操作撤销ctrl+z展开子主题ctrl+/展开所有子分支alt+ctrl+/查找与替换ctrl+f首选项ctrl+shift+p插入操作子主题tab主题(同级之后)enter主题(同级之前)shift+enter父主题ctrl+enter联系

  • RS232电平转换电路_rs422转rs232

    RS232电平转换电路_rs422转rs232介绍:SP3232EEN是RS-232电平转换芯片,与之相近的芯片还有SP3222,其区别见下表: 芯片特性:1、3.0V-5.5V供电;2、120kbps传输率;3、15kv空气放电;4、8kv接触放电。 型号选择: 内部结构图: 典型应用电路:  原创性文章,转载请注明出处CSDN:http://blog.csdn…

  • 大篆汉字对照表_甲骨文汉字对照表大全_甲骨文数字象形字对照图

    几个汉字演变过程(从甲骨文到行书)甲骨文:出现于商代,刻写在龟甲骨上的文字,主要用于占卜,也用于记事。甲骨文被认为是“汉字”的第一种形式,它既是象形字又是表音字,至今汉字中仍有一些和图画一样的象形文字。金文:始于夏商,古代刻在青铜的钟鼎和石鼓上的文字,是商代书写使用的正体,与甲骨文并行使用,具有正体多繁,俗体趋简的特点。大篆:到了西周后期,汉字发展演变为大篆。大篆有两个特点:线条化和规范化,粗细不…

  • JavaScript ES6 Arrow Functions(箭头函数)

    JavaScript ES6 Arrow Functions(箭头函数)

  • PLSQL Developer 安装使用教程详解

    PLSQL Developer 安装使用教程详解下载plsqldeveloper:官网下载:https://www.allroundautomations.com/registered-plsqldev/我下载的是10.0.3这个版本,目前版本已经达到了14,下载后顺带把ChineseLanguagepack下载一下,一会可以将软件的语言改为中文;安装plsqldeveloper下载完成后:选择plsqldev文件(注意这里标注的默认安装路径需要修改,改成路径中不含空格和中文的路径,否则,安装了,无法进行远程连接。)安

  • Iris数据集免费下载[通俗易懂]

    Iris数据集免费下载[通俗易懂]CSDN下载的iris数据集都需要积分和币,这里我提供百度云链接免费下载链接:https://pan.baidu.com/s/1ReA5RjAUvph0BYyYIHBlYg提取码:2grr恳请下载好的小伙伴点赞留言,蟹蟹更多AI资源请关注公众号:大胡子的AI欢迎各位AI爱好者加入群聊交流学习:882345565(内有大量免费资源哦!)…

    2022年10月17日

发表回复

您的电子邮箱地址不会被公开。

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