2010-03-05 11 views
6
NSNumberFormatter * fmt; 
NSNumber   * n; 

fmt = [ [ NSNumberFormatter alloc ] init ]; 
n = [ NSNumber numberWithFloat: 10 ]; 

[ fmt setFormatterBehavior: NSNumberFormatterBehavior10_4 ]; 
[ fmt setCurrencySymbol: @"$" ]; 
[ fmt setNumberStyle: NSNumberFormatterCurrencyStyle ]; 

// NSLog(@"%@", [ fmt stringFromNumber: n ]; 

[ fmt release ] 


-(IBAction)buttonPressed1:(id)sender 
{ 
double currency = [Amount1.text doubleValue] + [Amount2.text doubleValue]; 

SumCurrency.text = [NSString stringWithFormat:@"%0.0f", currency]; 


} 

Jak mogę otrzymać SumCurrency.text formatowany jako 1999 zamiast 1999Korzystanie NSNumberFormatter formatować waluty na wyjściu UILabel

Proszę o pomoc .. Jestem nowy Objective - C, ale mój projekt jest prawie 95 % na konstruktorze interfejsów.

Potrzebuję pomocy z powyższym kodem do implementacji. Proszę, bardzo się z tym zmagam.

Pozdrawiam, Nowicjusz.

+2

Kod podany na górze * nie * print '$ 1.999' (jeśli n zmienić do 1999). Dlaczego nie używasz formatyzatora w metodzie buttonPressed1? – nall

Odpowiedz

13

Dostałem odpowiedź .. Ale dla czyjejkolwiek przyszłego refernce

-(IBAction)buttonPressed1:(id)sender 
{ 
    double currency = [Amount1.text doubleValue] + [Amount2.text doubleValue]; 
    NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease]; 
    [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle]; 
    NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithInt:currency]]; 
    SumCurrency.text = [NSString stringWithFormat:@"Converted:%@",numberAsString]; 
} 
+0

Pytanie, które sobie zadałeś, zawierało odpowiedź, robiłeś to źle zobacz tę samą odpowiedź na twoje pytanie poniżej – yunas

1

Uwaga dla osoby, która zadane i odpowiedzi na to pytanie.

Mówiłeś,

[numberFormatter stringFromNumber:[NSNumber numberWithInt:currency]]; 

ale myślę, że jeśli przy użyciu obiektu klasy, jak NSNumber, to może chcesz umieścić

[numberFormatter stringFromNumber:(NSNumber *) currency]]; 

Zobacz co próbuję powiedzieć ?

6
NSNumberFormatter * fmt; 
NSNumber   * n; 

fmt = [ [ NSNumberFormatter alloc ] init ]; 
n = [ NSNumber numberWithFloat: 10 ]; 

[ fmt setFormatterBehavior: NSNumberFormatterBehavior10_4 ]; 
[ fmt setCurrencySymbol: @"$" ]; 
[ fmt setNumberStyle: NSNumberFormatterCurrencyStyle ]; 

// NSLog(@"%@", [ fmt stringFromNumber: n ]; 

[ fmt release ]; 

użycie

SumCurrency.text = [ fmt stringFromNumber: n ]; 

i jesteś z nim zrobić

+0

G8 działa, gdy możemy zmienić region !! Dzięki –

+0

jest problem w przyszłości? –