3

私のアプリケーションでは、大きな数値(通貨)を処理しており、nsnumberformatterを使用してフォーマットしていますが、現在、小数点以下の桁数はロケールに応じて設定されています。大きな数値が含まれるため、小数点以下の桁数を表示したくありません。任意の通貨。nsnumberformatter通貨スタイルで小数点以下の桁数をゼロに設定するにはどうすればよいですか?

使用したコード

NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithString:unformattedString];
    NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [currencyFormatter setLocale:locale];
    NSString *str=[NSString stringWithFormat:@"%.0f",someAmount];
    //NSString *str=[currencyFormatter stringFromNumber:someAmount];
4

1 に答える 1

8

以下のコードを使用して、数値フォーマッタから小数点以下の桁数を削除します。

[currencyFormatter setMaximumFractionDigits:0];

上記のコードを使用した完全なコード:

NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithString:unformattedString];
NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[currencyFormatter setLocale:locale];
[currencyFormatter setMaximumFractionDigits:0];
NSString *str=[currencyFormatter stringFromNumber:someAmount];
于 2011-11-11T12:53:20.880 に答える