Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting NSPredicate-与四舍五入整数进行比较_Sorting_Nsarray_Nspredicate - Fatal编程技术网

Sorting NSPredicate-与四舍五入整数进行比较

Sorting NSPredicate-与四舍五入整数进行比较,sorting,nsarray,nspredicate,Sorting,Nsarray,Nspredicate,我目前正在使用以下NSPredicate对我拥有的数组进行排序: [filteredResults filterUsingPredicate:[NSPredicate predicateWithFormat:@"note.intValue >= %ld", rating]]; 基本上,note元素从1到5,但它不是一个int,它是一个浮点数,可以是4.5、4.75或4.2。另一方面,rating对象是一个int:它是1、2、3、4或5。我想实现的是,如果note为4.75

我目前正在使用以下NSPredicate对我拥有的数组进行排序:

        [filteredResults filterUsingPredicate:[NSPredicate predicateWithFormat:@"note.intValue >= %ld", rating]];
基本上,
note
元素从1到5,但它不是一个int,它是一个浮点数,可以是4.5、4.75或4.2。另一方面,
rating
对象是一个int:它是1、2、3、4或5。我想实现的是,如果
note
为4.75,那么如果
rating
为5,则应将其保留在排序中。 换句话说,我想将
评级
注释
进行比较,但四舍五入到最接近的一半


在保持非常简单和有用的NSPredicate语法的同时,有什么方法可以实现这一点吗?

检查相应的语法中是否包含浮点值 间隔时间:

[NSPredicate predicateWithFormat:@"note >= %f AND note < %f",
     (double)rating - 0.5, (double)rating + 0.5]
[NSPredicate谓词格式:@“note>=%f和note<%f”,
(双)评级-0.5,(双)评级+0.5]

或者,由于原始谓词只是检查
=
,所以只需使用
@“note>=%f”,(双)评级-0.25
。(0.25,因为他希望四舍五入到最接近的一半,而不是四舍五入到最接近的整数。)