0

通貨を表示するために NSNumberFormatter を取得しようとしています。2 つの UILabels があり、どちらも同じ NSNumberFormatter でフォーマットされていますが、最初のものは括弧で囲まれています。これは私が持っているコードです:

    NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease];
    [fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle];
    [fmtCurrency setGeneratesDecimalNumbers:TRUE];
    [fmtCurrency setCurrencyCode:@"GBP"];
    [fmtCurrency setCurrencySymbol:@"£"];
    // formatter generates decimal numbers
    txtTotal.text = [fmtCurrency stringFromNumber: result.totalBill ]; // displays (£1100.00)
    txtTransition.text = [fmtCurrency stringFromNumber: result.transition]; // displays £120,000.00

「長すぎる場合は括弧を追加する」オプションについてInterfaceBuilderを見回しましたが、そこにはないようで、括弧なしで正しく表示される2番目のラベルは最初のラベルよりも長くなっています。

4

1 に答える 1

1

フォーマッタをセットアップするときにシステムが正しいことを行うと信頼できます。必要なロケールを強制するだけです。

NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease];
[fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle];
NSLocale* locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_UK"] autorelease]; 
[fmtCurrency setLocale:locale];
于 2011-08-01T11:12:44.243 に答える