我有一个对象数组,每个对象都有一个 NSDecimalNumber,称它为“大小”
对于数组中的每个对象,我将减去一个建议的大小,称为 rSize。
然后我想进入结果 NSDecimalNumber 并获得增量的值,并不真正关心它是积极的还是消极的结果。
我想我将使用 decimalNumber 方法,它会返回一个 NSDecimal 结构,所以问题是:结构中的哪个属性会给我增量值?
换句话说:一个 NSDecimal 代表一个 NSDecimalNumber,但是 NSDecimal 结构的哪个属性持有这个值?
非常感谢 罗布
最佳答案
您的“delta”似乎是“rSize”与项目之间差异的绝对值。在这种情况下,您可以执行减法 (item – rSize
),如果它在 NSDecimalNumber
内完全为负数,则将其乘以 -1:
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:
选择器对对象数组进行排序。
关于ios - 如何从 NSDecimal 获取 NSDecimalNumber 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011506/