问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python中取整

发布网友 发布时间:2022-11-06 22:05

我来回答

1个回答

热心网友 时间:2023-10-28 08:36

定义:大于或等于 x 的最大整数 math.ceil(x)
向上取整运算为Ceiling,用数学符号⌈⌉表示

定义:小于或等于 x 的最大整数 math.floor(x)
向上取整运算为Floor,用数学符号⌊⌋表示

其实反斜杠 // 也能实现向下取整:

但是在某些情况下 // 和 math.floor(x) 的实现结果又不一样:

还是因为浮点数在计算机中存储值并不是0.05而是0.05...125,具体解释还是看这里吧 为什么Python中//和math.floor运算结果会不同 。

向0取整:x为负数时向上取整,x为正数时向下取整。
python中可用 int(x) 实现,也可以用 math.modf(x) 返回一个包含小数部分和整数部分的元组。

有人可能会对 math.modf(-2.36) 结果感到好奇,按理说它应该返回 (0.36, 2.00) 才对。这里涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.36 在计算中的近似表示。
  Python和C一样, 采用IEEE 754规范来存储浮点数,更详细解释,可以参考知乎话题:
   为什么0.1+0.2=0.30000000000000004而1.1+2.2=3.3000000000000003

从官方文档得知,Python中 round(x) 采用银行进位法而非传统的四舍五入。

银行进位规则:
① 如果保留数最后一位不等于5,则执行四舍五入,例如 round(5.234, 2)=5.23 round(5.236, 2)=5.24
② 如果保留数最后一位等于5,则取决于5的位置和状态:⑴ 如果5后有数,不论奇偶都要进位,例如 round(5.2354, 2)=5.24 ;⑵ 如果5后没有数,则需要看5的前一位奇偶性,奇进偶舍,例如 round(5.235, 2)=5.24 , round(5.225, 2)=5.22
但是!注意!:

内心中一片乌鸦飞过,说好的奇进偶舍呢???其实我内心也是奔溃的,继续找答案:
我们都知道,计算机所存储的浮点数并不是表面这么简单,他并不是一个精确值,可以用decimal模块的Decimal对象,将float数据映射为底层的更精确的表示。:

round还是那个round,过错就在于float对象“眼见而非实”上,那到底如何实现真正意义四舍五入呢??
  decimal模块是Python的一个标准库,是专门为十进制小数的精确计算而设计的,使用decimal模块的接口,可以实现小数精确的四舍五入,具体不多做展开了,可以参考官方文档...暂时我也用不到decimal
  一路写下来,结论就是float心机好深,操作真的要小心点...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情侣文案英文高级浪漫87句 Love to the people don't wave.什么意思 gladtomeetyou怎么 gladtomeetyou.怎么回答 2016生肖猴运程 武汉买房88平方满50万落户政策 非武汉市户口在武汉市购买70平方总价50万的商品房,可以转户口吗... 我想在武汉买一套50万左右的新房子,谁能告诉我现在武昌,关山,江夏,有... 支付宝怎么开通步数授权? 总价50万能在武汉买一套两室一天的二手房吗? 饮料隔夜可以喝不 青海四叶草网络科技有限公司怎么样? 钟祥市四叶草互联网科技有限公司怎么样? 沈阳四叶草网络科技有限公司怎么样? 等于号是怎么打出来的 Ib账号和密码都忘了怎么办? 那个冬天作文 梦见我自卫导致别人受伤 男生送女生手镯代表什么 我想问一下送手镯的寓意是什么 苹果11怎么打开后台 传奇故事里的杨平东结局怎么样 什么接的传奇电视剧 宝来传奇国六最新消息 传奇球星贝利健康状况恶化再入院 为什么我的三星note2用微博会显示安卓而不是note2? 有人可以帮帮我吗?型号是GT-N7105,在澳门买的港行。 无患子树怎么种盆栽 他是我的榜样作文400字急! 我想问一下华为怎么触发单手模式 华为手机怎样注册第二个? 华为P40客服 雨下的昨天是什么歌曲 人到中年的生活是什么样的? 借5000年利率24%是多少利息 2022年9月30日昨天晚上的月亮是什么样子的呢 昨天今天明天完整版台词是什么? 新买的衣服能不能退换? 介电常数是怎么回事? 美术高考打分试卷 素描半身图 求多 建设银行信用卡怎么调整额度 win10系统如何重新把IE恢复到默认 想问一下证券从业资格考试要学哪学课程 急急急 谁知道这个遥控器的信号源切换键是哪一个呀 ?各位亲帮帮忙 邮政储蓄定期可以同城取吗 离婚房贷增值部分分割法律上是如何规定的 腾讯会议进入会议会提示主持人吗 住院有保险和没保险的用药费用有什么区别吗? 职工自然疾病医疗费怎么报销?有医疗保险和没有医疗保险有什么区别?急~~~ 没有参加医疗保险的人员,怎么缴纳医疗保险费呢? 八年级上册历史重点是什么?