面试被问到python里面,怎么比较两个浮点数是否相等?

本文介绍了在Python中判断两个浮点数是否相等的正确方法,包括通过差值比较和使用math.isclose()函数。在比较浮点数时,需要考虑精度问题,利用绝对值差值与给定精度范围比较,或者使用math.isclose()设置相对误差容忍度来判断。这种方法在实际工程项目中对于浮点数的精确比较至关重要。
摘要由CSDN通过智能技术生成

面试的时候,毫无防备的被问到python里面怎么比较两个float数怎么判断相等,当时粗略的回答了说:“先扩大倍数,然后再做差进行比较”。事后想了想还是没有回答到点子上,重新学习总结记录

1.做差取绝对值,看差值是否在给定的精度范围内,是则认为相等;否则,不相等
即
abs(f1-f2) <= allowed_rate

2.python3.5以上版本,使用math.isclose()方法
#举个例子
>>f1 = 3.0
>>f2 = 3.000001
#通常在工程项目中,f1应该等不等于f2,需要考虑到我们所需要的精度要求
>>import math
>>math.isclose(f1,f2,rel_tol = 0.1>>>True
>>math.isclose(f1,f2,rel_tol = 0.000000001)
>>False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值