gpt4 book ai didi

ios - 在数组中查找最近的 float

转载 作者:行者123 更新时间:2023-11-29 02:28:58 25 4
gpt4 key购买 nike

如何让我的数组中最接近我选择的 float 的 float ?这是我的数组:

[1.20, 1.50, 1.75, 1.95, 2.10]

例如,如果我的 float 是 1.60,我想生成 float 1.50

有什么想法吗?提前致谢!

最佳答案

您可以通过对数组进行排序并找到最近的一个来实现。

为此,您可以使用 sortDescriptors,然后您的算法就会运行。

即使您可以循环遍历,假设第一个为所需值并存储最小绝对差值 (abs()),如果下一个差值小于保持该值的话。

工作示例,但是您需要处理其他条件,例如两个相似的值,或者您的值恰好介于两个值之间,例如 2 介于 1 和 3 之间。

NSArray *array = @[@1.20, @1.50, @1.75, @1.95, @2.10];

double my = 1.7;
NSNumber *nearest = array[0];

double diff = fabs(my - [array[0] doubleValue]);
for (NSNumber *num in array) {
double d = [num doubleValue];
if (diff > fabs(my - d) ) {
nearest = num;
diff = my - d;
}
}

NSLog(@"%@", nearest);

关于ios - 在数组中查找最近的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151692/

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