Using NSNumberFormatter to format currency in output UILabel

好久不见. 提交于 2019-12-07 03:13:22

问题


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


 }

How do I get the SumCurrency.text formated as 1,999 instead of 1999

Please help .. I am new to Objective - C , but my project is almost 95 % on interface builder .

I just need help with above code to implement .. Please I am struggling a lot with this .

Regards , Newbie.


回答1:


I got the answer .. But for anyone's future 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];  
}



回答2:


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

use

SumCurrency.text = [ fmt stringFromNumber: n ];

and you are done with it




回答3:


Note to person who asked and answered this question.

You said,

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

but I think if your using an object of a class, like NSNumber, then you might want to put

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

See what I'm trying to say?



来源:https://stackoverflow.com/questions/2384701/using-nsnumberformatter-to-format-currency-in-output-uilabel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!