Formatting 将NSPredicate筛选器部件中的浮点更改为所需格式

Formatting 将NSPredicate筛选器部件中的浮点更改为所需格式,formatting,floating-point,nspredicate,Formatting,Floating Point,Nspredicate,以下是我得到的: NSPredicate *predicate=[NSPredicate predicateWithFormat:@"pressure=%f", [self.txtInput.text floatValue]]; 是否有一种方法可以格式化“pressure”属性,使其与文本框中输入的任何内容的浮点值相匹配?例如,有一个压力值为2504.6的对象,我在文本框中输入了2504.6。但当

以下是我得到的:

NSPredicate *predicate=[NSPredicate predicateWithFormat:@"pressure=%f",
                                                 [self.txtInput.text floatValue]];

是否有一种方法可以格式化“pressure”属性,使其与文本框中输入的任何内容的浮点值相匹配?例如,有一个压力值为2504.6的对象,我在文本框中输入了2504.6。但当我将文本转换为float时,它会变成2504.600098。由于2504.6不等于2504.600098,我无法从过滤中得到正确的结果。属性的精度不同,因此我无法将它们与特定格式进行比较。

如果您想要精度的一位数,可以使用:

NSPredicate *predicate=[NSPredicate predicateWithFormat:@"pressure=%.1f",
                                             [self.txtInput.text floatValue]];

它遵循标准的
printf
格式规则,是一个包含更多细节的表。

问题是我得到了一个值-2504.6。这是谓词中使用的属性的值。我需要一些方法将精度从1提高到6。按照你建议的方式,我将把文本精度的浮点值降到1。我需要确定谓词中属性的精度,而不是比较值。