1

我有一个对象数组,每个对象都有一个 NSDecimalNumber,称之为“大小”

对于数组中的每个对象,我将减去一个推荐的大小,称为 rSize。

然后我想进入生成的 NSDecimalNumber 并获取增量的值,并不关心它是正面还是负面结果。

我想我将使用返回 NSDecimal 结构的 decimalNumber 方法,所以问题是:结构中的哪个属性会给我增量值?

换种说法:一个 NSDecimal 代表一个 NSDecimalNumber,但是 NSDecimal 结构的哪个属性保存该值?

非常感谢罗

4

1 回答 1

1

您的“delta”似乎是“rSize”与项目之间差异的绝对值。在这种情况下,您可以执行减法 ( item – rSize),如果它完全在 内为负,则将其乘以 -1 NSDecimalNumber

NSDecimalNumber *negativeOne = [NSDecimalNumber decimalNumberWithMantissa:1 
                                                                 exponent:0
                                                               isNegative:YES];
NSDecimalNumber *delta = [item decimalNumberBySubtracting:rSize];
if ([delta compare:[NSDecimalNumber zero]] == NSOrderedAscending) {
    delta = [delta decimalNumberByMultiplyingBy:negativeOne];
}

然后使用-compare:生成的增量对象上的选择器对对象数组进行排序。

于 2013-04-15T11:53:50.283 回答