How can we round off decimal numbers to 2 digits in iphone ?
For example ,
5345 --> 53
570 -- > 57
89523 -- > 90
I tried to use nsformatter for this and here is the code i used ,
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumIntegerDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundUp];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithInt:570]];
[formatter release];
NSLog(@"%@",numberstring);
I keep on getting the value as 70 even after changing the rounding mode to different options. Please help me with this
Thanks, Vinod.
Use this simple code instead of formatter;
i hope it helps.
Or you can use this
Deepak's answer is probably exactly what you need, but I'm just providing another option for the sake of options. I'm assuming you're using
NSNumber
values, sosomeNumber
will be of that type in the example:Since you're looking to round up the decimal digits, you should actually provide a float for this and set the maximum fractional digits to 2. You're probably looking for this,
But you can still do it. You have to do some extra work to convert the whole number to a fractional number and some trick to remove the "0." from the float value.
Rounding Number to 2 Decimal Places in C maybe this link helps.you can the convert the float result back to an nsnumber