2009-08-13 11 views
0

これは実際にNSDecimalNumbersの配列の合計です。絶対値を取得したいのですが...すべての変換でフレームワークと戦っているように感じています。&型キャストNSDecimalNumberが提供する精度を維持しようとしている間に、NSNumberからNSDecimalNumberまで、そして戻ってから...すべてが必要になります。次の作業はありますが、この変換をすべて避ける簡単な方法はありますか?&型キャスト?NSNumberの書式付き絶対値

NSNumber *totalAmt = [customObjectArray valueForKeyPath:@"@sum.decimalNumberValue"]; 
NSString *totalAmtString = [currencyFormatter stringFromNumber:[NSNumber numberWithDouble:fabs([totalAmt doubleValue])]]; 
sectionLabel.text = [NSString stringWithFormat:@"Total: %@", totalAmtString]; 

恐らく私はNSNumberFormatter(currencyFormatter)を変更して - 記号を無視することができますか?

答えて

1

キャストタイプは必要ありません。

NSNumber *totalAmt = [customObjectArray valueForKeyPath:@"@sum.decimalNumberValue"]; 
NSString *totalAmtString = [currencyFormatter stringFromNumber:totalAmt]; 
sectionLabel.text = [NSString stringWithFormat:@"Total: %@", totalAmtString]; 

NSDecimalNumberがNSNumberのサブクラスであるため、これは正常に機能します。

また、IBでバインドするものがある場合は、値totalAmtsectionLabelの代わりに 'パターン値'に '値'をバインドしてみてください。これで最後の行が保存されます:) customObjectArrayNSArrayControllerでアクセスできるものであれば、最初の行にキーパスとして 'pattern value'バインディングを入力する必要があります。 この方法で、指定した3行をすべて削除できます:)

関連する問題