I am trying to have a number string with maximum 2 decimals precision, while rest decimals just trimmed off instead of rounding them up. For example:
I have: 123456.9964
I want: 123456.99 -> Just want to trim rest of the decimal places
What I have tried is:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:2];
NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat: 123456.9964]];
NSLog(@"%@", numberAsString);
There is nothing to set rounding mode as "none". What else can I do to maintain Decimal style formatting along with trimmed decimal digits? Any help will be appreciated. Thanks.
you can use this
Use this code.
you can also just use round() and then convert it into a string afterward
would print x: 123456.89, rounding the 8 to a 9.
The following works for me:
The output is: 123,456.99
Part of your problem is the use of
numberWithFloat:
instead ofnumberWithDouble:
. Your number has too many digits forfloat
.