web-dev-qa-db-ja.com

Objective-C:文字列を$ Priceとしてフォーマットする方法

文字列を$ priceとしてフォーマットする組み込みの方法です。 12345.45 に変換 $12,345.45

27
Mustafa

Cocoa(または単にFoundation)を使用していると仮定すると、NSNumberFormatterを使用して、そのスタイルを通貨に設定できます。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
... = [formatter stringFromNumber:number];

デフォルトではシステムのロケールを使用しますが、それや他の多くのプロパティを変更できます。 NSNumberFormatter APIドキュメントを参照してください。

70
Rhult

価格がフロートで保持されていると仮定すると、おそらく + localizedStringWithFormat: が必要です。

NSString *priceString = [NSString localizedStringWithFormat:@"$ %'.2f",price];

うーん... Appleは printfのIEEE標準 に従うと言っているので、 'フラグを受け入れる必要がありますが、Tigerでは機能しません。NSNumberFormatterそうです。

5
outis

'文字を取り除く必要があります

だから、これを持っているだけです:

NSString *priceString = [NSString localizedStringWithFormat:@"$ %.2f", price];
3
user2053111
NSString *formatedNumbers = [NSNumberFormatter localizedStringFromNumber:myNumber numberStyle:NSNumberFormatterCurrencyStyle];
0
Ula