次のコードを使用して、通貨文字列 (例: $25,000) を NSDecimalNumber に変換しようとしています:
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[currencyFormatter setGeneratesDecimalNumbers:TRUE];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
// textField.text is some currency string (e.g., $25,000)
NSDecimalNumber *decimalNumber = [currencyFormatter numberFromString:textField.text];
コンパイラは currencyFormatter の結果の型について不平を言っていますが、NSDecimalNumber ではなく NSNumber ですが、ここで設定しています:
[currencyFormatter setGeneratesDecimalNumber:TRUE];
だから私は迷っています。何か案は?