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


} 

Làm thế nào để các SumCurrency.text formated như 1.999 thay vì năm 1999Sử dụng NSNumberFormatter để định dạng tiền tệ trong đầu ra UILabel

Xin giúp .. Tôi mới vào Objective - C, nhưng dự án của tôi là gần như 95 % trên trình tạo giao diện.

Tôi chỉ cần trợ giúp với mã ở trên để triển khai .. Xin vui lòng tôi đang đấu tranh rất nhiều với điều này.

Trân trọng, Người mới.

+2

Mã bạn được cung cấp ở đầu * không * in '$ 1.999 (nếu bạn thay đổi n đến 1999). Tại sao bạn không sử dụng trình định dạng trong phương thức buttonPressed1 của bạn? – nall

Trả lời

13

tôi có câu trả lời .. Nhưng đối với refernce tương lai của bất kỳ ai

-(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

Câu hỏi bạn đã đặt ra có câu trả lời cho nó, bạn đang làm sai xem câu trả lời tương tự của tôi dưới đây – yunas

1

Lưu ý để người hỏi và trả lời câu hỏi này.

Bạn nói,

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

nhưng tôi nghĩ rằng nếu bạn sử dụng một đối tượng của một lớp, như NSNumber, sau đó bạn có thể muốn đặt

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

Xem những gì tôi đang cố gắng để nói ?

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

sử dụng

SumCurrency.text = [ fmt stringFromNumber: n ]; 

và bạn đang thực hiện với nó

+0

G8 nó hoạt động khi chúng ta có thể thay đổi vùng !! Cảm ơn –

+0

là nó cung cấp cho vấn đề trong tương lai ?? –

Các vấn đề liên quan