Tushar J.
Tushar J.

Reputation: 562

How to calculate double value upto 2 decimals, but without rounding off the digits

I have a double number for e.g "12.1278", I want to convert this number up to 2 decimals only, like "12.12".

But, when I use following code:

double d = 12.1278;
NSLog(@"Float upto 2 decimals : %.2f", d);

The output is:

Float upto 2 decimals : 12.13

I want the conversion like:

Float upto 2 decimals : 12.12

Upvotes: 2

Views: 961

Answers (1)

zaph
zaph

Reputation: 112857

Use NSNumberFormatter with roundingMode of NSNumberFormatterRoundFloor.

double d = 12.1278;

NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setRoundingMode:NSNumberFormatterRoundFloor];
[formatter setMaximumFractionDigits:2];
NSString *numberString = [formatter stringFromNumber:@(d)];

NSLog(@"numberString: %@", numberString);

NSLog output:

numberString: 12.12

Upvotes: 5

Related Questions