testndtv testndtv - 1 year ago 90
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 Source

As in most languages the format is


you can see more examples here


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