2010-03-05 16 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]; 


} 

zu formatieren Wie kann ich die SumCurrency.text als 1.999 stattNSNumberFormatter Mit Währung UILabel in Ausgabe

1999 formated

Bitte helfen .. Ich bin neu in Objective - C, aber mein Projekt ist 95 fast % auf dem Schnittstellenersteller.

Ich brauche nur Hilfe mit oben genannten Code zu implementieren .. Bitte ich habe viel damit zu kämpfen.

Grüße, Neuling.

+2

Der Code, den Sie an der Spitze zur Verfügung gestellt * macht * print '$ 1.999' (wenn Sie n bis 1999 aus). Warum verwenden Sie den Formatierer in Ihrer buttonPressed1-Methode nicht? – nall

Antwort

13

bekam ich die Antwort .. Aber für zukünftigen 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

Die Frage, die Sie gestellt haben, hatte eine Antwort darauf, Sie haben es falsch gemacht sehen Sie meine gleiche Antwort auf Ihre Frage unter – yunas

1

Hinweis zu dieser Person jemand, der diese Frage gestellt und beantwortet.

Du hast gesagt,

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

aber ich denke, wenn Ihr ein Objekt einer Klasse verwendet wird, wie NSNumber, dann könnten Sie setzen wollen

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

Sehen Sie, was ich versuche zu sagen ?

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 ]; 

Verwendung

SumCurrency.text = [ fmt stringFromNumber: n ]; 

und Sie mit ihm fertig

+0

G8 es funktioniert, wenn wir Region wechseln können !! Danke –

+0

gibt es Problem in der Zukunft ?? –