2011-08-01 30 views
0

我試圖讓NSNumberFormatter顯示一個貨幣。我有兩個UILabels,兩者都由相同的NSNumberFormatter格式化,但第一個被括號包圍。這是我的代碼有:選項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一個「如果太長加上括號」,但似乎並沒有爲一個,並正確顯示沒有第二個標籤括號比第一個長。

+3

總賬單不正好是一個負數,不是嗎? – Perception

+0

總帳和過渡的類型是什麼? –

回答

1

設置格式化程序時,您可以信任的製做正確的事情,只是迫使區域,那麼你想要的:

NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease]; 
[fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle]; 
NSLocale* locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_UK"] autorelease]; 
[fmtCurrency setLocale:locale]; 
+0

謝謝,就是這樣。 – Echilon