目录
python如何取整1、向下取整2、四舍五入3、向上取整4、分别取整数部分和小数部分python中的取整问题先看一段代码总结python如何取整
数据处理是编程中不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。
取整的方式则包括向下取整、四舍五入、向上取整等等。
(资料图片仅供参考)
1、向下取整
向下取整直接用内建的 int() 函数即可:
>>> a = 3.75 >>> int(a) 3
2、四舍五入
对数字进行四舍五入用 round() 函数:
>>> round(3.25); round(4.85) 3.0 5.0
3、向上取整
向上取整需要用到 math 模块中的 ceil() 方法:
>>> import math >>> math.ceil(3.25) 4.0 >>> math.ceil(3.75) 4.0 >>> math.ceil(4.85) 5.0
4、分别取整数部分和小数部分
有时候我们可能需要分别获取整数部分和小数部分,这时可以用 math 模块中的 modf() 方法,该方法返回一个包含小数部分和整数部分的元组:
>>> import math >>> math.modf(3.25) (0.25, 3.0) >>> math.modf(3.75) (0.75, 3.0) >>> math.modf(4.2) (0.20000000000000018, 4.0)
有人可能会对最后一个输出结果感到诧异,按理说它应该返回 (0.2, 4.0) 才对。
这里涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。
上例中最后的输出结果只是 0.2 在计算中的近似表示。
python中的取整问题
虽然取整是各种语言中最基础的操作, 可是往往多了一个1或者少了一个1会导致巨大的灾难,所以我觉得还是很有必要写一下的。
python中的取整操作有://, round, int, ceil, floor, 其他语言也有类似的函数来进行取整。
先看一段代码
import math def test_round(a, b): print("-------------------------------------") print(f"{a}/{b}=", a/b) print(f"{a}//{b}=", a//b) print(f"round({a}/{b})=", round(a/b)) print(f"int({a}/{b})=", int(a/b)) print(f"ceil({a}/{b})=", math.ceil(a/b)) print(f"floor({a}/{b})=", math.floor(a/b)) test_round(3, 2) test_round(-3, 2)
打印结果:
-------------------------------------
3/2= 1.5
3//2= 1
round(3/2)= 2
int(3/2)= 1
ceil(3/2)= 2
floor(3/2)= 1
-------------------------------------
-3/2= -1.5
-3//2= -2
round(-3/2)= -2
int(-3/2)= -1
ceil(-3/2)= -1
floor(-3/2)= -2
可以看出, //操作结果和floor是一样的。
总的来说, ceil:坐标轴上向上取整, floor:向下取整, int:向中(0)取整(直接去掉浮点位)。
而round则是四舍五入(不考虑符号)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?