testndtv testndtv - 5 months ago 36
Objective-C Question

Round double value to 2 decimal places

I have a double value as 22.368511
I want to round it to 2 decimal places. i.e. it should return 22.37

How can I do that?

Answer

As in most languages the format is

%.2f

you can see more examples here


edit

I also got this if your concerned about the display of the point in cases of 25.00

{
        NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
        [fmt setPositiveFormat:@"0.##"];
        NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.342]]);
        NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.3]]);
        NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.0]]);
    }
2010-08-22 15:04:10.614 a.out[6954:903] 25.34
2010-08-22 15:04:10.616 a.out[6954:903] 25.3
2010-08-22 15:04:10.617 a.out[6954:903] 25