Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Formatting number as percentage

Tags:

I don't understand how NSNumberFormatterPercentStyle works!

Example:

NSNumber *number = [NSNumber numberWithFloat:90.5]; NSNumberFormatter *percentageFormatter = [[[NSNumberFormatter alloc] init] autorelease]; [percentageFormatter setNumberStyle:NSNumberFormatterPercentStyle];  NSString *strNumber = [percentageFormatter stringFromNumber:numbericString]; NSLog (strNumber);  // Output: 9,050% 

I simply want to show "90.5%" (respecting NSLocal). What is NSNumberFormatterPercentStyle doing with 90.5, and why? And, how can i get my desired result!?

like image 229
Mustafa Avatar asked Aug 11 '10 15:08

Mustafa


2 Answers

Just set the multiplier to 1 if your numbers are already in percentage.

numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setNumberStyle:NSNumberFormatterPercentStyle]; [numberFormatter setMaximumFractionDigits:0]; [numberFormatter setMultiplier:@1]; 
like image 184
Pulkit Goyal Avatar answered Oct 12 '22 13:10

Pulkit Goyal


Its presuming that the number is in the range of 0-1, as it is a percent

so 0.905 would get you 90.5%.

like image 45
John Gardner Avatar answered Oct 12 '22 15:10

John Gardner