2

I have read many question in stack overflow, what I want is remove 2 or more than two trailing zero behind the decimal. i.e:

12.00 ==> 12
12.30 ==> 12.30
12.35 ==> 12.35
12.345678 ==> 12.34
vampirewalk
  • 819
  • 8
  • 19
Lunayo
  • 538
  • 7
  • 32

3 Answers3

9
NSNumberFormatter *twoDecimalPlacesFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[twoDecimalPlacesFormatter setMaximumFractionDigits:2];
[twoDecimalPlacesFormatter setMinimumFractionDigits:0];

return [twoDecimalPlacesFormatter stringFromNumber:number];
Daniel Broad
  • 2,512
  • 18
  • 14
3

I like @dorada's answer, here is a complete test:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:0];

NSLog(@"12.00 ==> %@", [formatter stringFromNumber:[NSNumber numberWithFloat:12.00]]);
NSLog(@"12.30 ==> %@", [formatter stringFromNumber:[NSNumber numberWithFloat:12.30]]);
NSLog(@"12.35 ==> %@", [formatter stringFromNumber:[NSNumber numberWithFloat:12.35]]);
NSLog(@"12.345678 ==> %@", [formatter stringFromNumber:[NSNumber numberWithFloat:12.345678]]);

NSLog output:

12.00 ==> 12
12.30 ==> 12.3
12.35 ==> 12.35
12.345678 ==> 12.35
zaph
  • 111,848
  • 21
  • 189
  • 228
0

Try:

NSLog(@"%0.2f", 12.345678);

Or to save it to an NSString:

NSString *numberString = [NSString stringWithFormat:@"%0.2f", 12.345678];

Edit

Missed the fact that you didn't want any zero fraction digits. Credits to @dorada for this one:

NSNumber *number = [NSNumber numberWithFloat:12.00];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:0];

NSString *numberString = [formatter stringFromNumber:number];
[formatter release];
hwaxxer
  • 3,363
  • 1
  • 22
  • 39
  • the result is true 12.34 But what if NSLog(@"%0.2f", 12.00); the result will 12.00 too 12 is the desire value – Lunayo Sep 19 '11 at 11:17
  • Sorry, missed that you wanted no zero fraction digits. @Dorada's answer should help you! – hwaxxer Sep 19 '11 at 12:11