gpt4 book ai didi

ios - NSNumber doubleValue 0 不完全返回 0

转载 作者:行者123 更新时间:2023-11-28 22:42:32 26 4
gpt4 key购买 nike

我正在处理一个 NSNumber 的 NSMutableArray,我遇到了一个奇怪的错误。 [NSNumber doubleValue](用双 0 构造)似乎不等于 0.0。

错误出现在有史以来最简单的函数中:max 函数。

- (double) maxValY{
double max = DBL_MIN;
for (NSNumber *doubleNumber in arrayNumbers) {
if (max<[doubleNumber doubleValue]){
max = [doubleNumber doubleValue];
}

}

NSLog(@"max %f",max);
if(max <=0.0){
NSLog(@"max is equal to 0");
return 1;
}else{
NSLog(@"max is not equal to 0");
}

return max;
}

控制台打印:

2013-01-02 11:27:56.208 myApp[1920:c07] max 0.000000
2013-01-02 11:27:56.210 myApp[1920:c07] max is not equal to 0

最佳答案

这不是错误:它是 double 的。对于 float ,您看到 不一定是您得到的。这个问题有更多信息:

Why do I see a double variable initialized to some value like 21.4 as 21.399999618530273?

如果您只关心数字是否等于或大于零,那么最简单的解决方案就是转换为整数。还有其他更复杂的选择:我链接到的答案有一些。某人在有关 float 学的评论中给您的链接也可能有帮助。

关于ios - NSNumber doubleValue 0 不完全返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14120626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com