0

持っているNSDecimalNumberを取得し、1.1を掛けようとしています。

私はこれを持っていますが、機能しません:

NSDecimalNumber *multipy = [NSDecimalNumber decimalNumberWithMantissa:1.1 exponent:0 isNegative:NO]; 
NSDecimalNumber *savings = [totalExpenses decimalNumberByMultiplyingBy:multipy];

アップデート:

これがコード全体です、なぜそれが機能しないのか誰かが知っていますか?

NSDecimalNumber *totalExpenses = [[event.housePayment decimalNumberByAdding:event.carPayment] decimalNumberByAdding:event.loanPayment];
NSDecimalNumber *multiply = [NSDecimalNumber decimalNumberWithMantissa:11 exponent:-1 isNegative:NO];
NSDecimalNumber *savings = [totalExpenses decimalNumberByMultiplyingBy:multiply];

乗算ラインでクラッシュし、エラーが発生しました:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCell decimalNumberByMultiplyingBy:]: unrecognized selector sent to instance 0x5d91a60'

4

2 に答える 2

2

試す:

NSDecimalNumber *multipy = [NSDecimalNumber decimalNumberWithMantissa:11 exponent:-1 isNegative:YES]; 
于 2011-09-12T06:29:03.267 に答える
2

仮数は整数である必要があるため、これを調整するには、10 を掛けてから指数を 1 減らします。

すなわち

NSDecimalNumber *multipy = [NSDecimalNumber decimalNumberWithMantissa:11 exponent:-1 isNegative:NO];
于 2011-09-12T06:32:15.053 に答える