Mac*_*rse 10 iphone objective-c nsdecimalnumber
我正在寻找一种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]];
Run Code Online (Sandbox Code Playgroud)
这有效,但感觉就像这么简单的逻辑太多了.你能想到更好的方法吗?
D.S*_*ley 16
您可以使用NSDecimalNumber >> decimalNumberWithMantissa:exponent:isNegative来更简洁地生成-1.
/* Answers (aDecimal x -1) */
NSDecimalNumber* negate(NSDecimalNumber *aDecimal) {
return [aDecimal decimalNumberByMultiplyingBy:
[NSDecimalNumber decimalNumberWithMantissa: 1
exponent: 0
isNegative: YES]];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2598 次 |
| 最近记录: |