Sorting NSPredicate-与四舍五入整数进行比较
我目前正在使用以下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
[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,因为他希望四舍五入到最接近的一半,而不是四舍五入到最接近的整数。)