【发布时间】:2013-09-30 02:00:56
【问题描述】:
什么是 Objective-C 方便的方法来比较几个 NSNumbers 和浮点值,看看它们是否大致相等(两位小数就可以了)?
如果有一个选项不会随机更改数字,我会使用浮点数以外的东西。但无论如何我已经在使用花车了...... .
我想一定是这样的:
[myNumber isEqualTo:myOtherNumber withPrecision:2];
但实际上,令人惊讶的是我找不到这样一种方便的方法。我在这里想念什么?
将这两个数字转换为 NSDecimal 或其他内容有帮助吗?
【问题讨论】:
-
伪代码版本如下所示:
( abs(num1 - num2) < 0.01 )。如果它们之间的差异小于百分之一(精度为 2 个小数点),则计算结果为 true,否则为 false。 -
没有方便的方法,因为没有将浮点数与容差进行比较的一般规则。正确的比较取决于应用程序。
标签: objective-c floating-point comparison precision convenience-methods