我正在寻找一种方法来扭转NSDecimalNumber
乘以负数-1
.
/* decNumber is the one I would like to turn negative */
NSDecimalNumber *decNumber = [values objectAtIndex:billIndex];
NSDecimalNumber *minusOne = [[NSDecimalNumber alloc] initWithInt: -1];
finalValue = [[NSDecimalNumber alloc] initWithDecimal: [[decNumber decimalNumberByMultiplyingBy: minusOne] decimalValue]];
这可行,但感觉对于如此简单的逻辑来说有点太多了。你能想出更好的方法来实现这一目标吗?
你可以使用NSDecimalNumber>>decimalNumberWithMantissa:指数:isNegative http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSDecimalNumber_Class/Reference/Reference.html%23//apple_ref/doc/uid/20000179-decimalNumberWithMantissa_exponent_isNegative_更简洁地生成-1。
/* Answers (aDecimal x -1) */
NSDecimalNumber* negate(NSDecimalNumber *aDecimal) {
return [aDecimal decimalNumberByMultiplyingBy:
[NSDecimalNumber decimalNumberWithMantissa: 1
exponent: 0
isNegative: YES]];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)