简体   繁体   中英

Show the float value in formatted string two digits after decimal in iPhone

I have a float number in which i insert comma after thousands value it works fine

NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important!

NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:appDelegate.C_WND_ClinInf_Average_Default]];

but it shows 1,947 but i want it to show 1,947.00 any idea how to formate like this.

Thanks

Have you tried using -setMaximumFractionDigits from NSNumberFormatter?

So, try something like:

[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:2];

This way you deal with NSNumberFormatter only and don't need to call anything extra on NSString.

简单写

NSString *myNum = [NSString stringWithFormat:@"%.2f", yourFlotNumber];

try this one its work fine for me...


NSNumberFormatter *formatter = [NSNumberFormatter new];

[formatter setPositiveFormat:@",##,###.00"];
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:no]];
    NSNumberFormatter *formatter = [NSNumberFormatter new];
        [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important!

        NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:appDelegate.C_WND_ClinInf_Average_Default]];


  NSString *str = [[NSString alloc] initWithFormat:@"%.2f",yourfloatno];

try this one .....

I would rewrite your code a bit...I don't think you need a number formatter.

float myNumber = appDelegate.C_WND_ClinInf_Average_Default;
NSString *myNumberAsText = [NSString stringWithFormat:@"%.2f",myNumber];

Hope this helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM