两个浮点数比较明明相等为啥还是会进if条件啊

iOS 码拜 8年前 (2015-11-13) 1761次浏览
而且化成整数变成49了。两个浮点数比较明明相等为啥还是会进if条件啊
解决方案:10分
本帖最后由 zhangao0086 于 2015-08-27 17:49:45 编辑

浮点数的比较应该是取差值然后比较你所能接受的精度范围,相似于这样:
float temp = percent – strokeEnd;
if (temp < 0.001)

解决方案:10分
浮点数在计算机中并不能精确存储,所以看似相等,但在计算机中存储的二进制并不相等,所以浮点数比较能否相等一般都是让两个浮点数相减求绝对值,绝对值在某个范围内就认为相等,至于这个范围是多大你本人决定就好,主要看你本人要比较的两个数的情况。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明两个浮点数比较明明相等为啥还是会进if条件啊
喜欢 (0)
[1034331897@qq.com]
分享 (0)