2011-08-01 41 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