Show float value in formatted string two digits after decimal in iPhone

I have a floating point number into which I insert a comma after thousands of values, it works fine

NSNumberFormatter *formatter = [NSNumberFormatter new]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important! NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:appDelegate.C_WND_ClinInf_Average_Default]]; 

but he shows 1,947, but I want him to show 1,947.00 any idea on how to form as follows.

thanks

+4
source share
5 answers

Have you tried using -setMaximumFractionDigits from NSNumberFormatter?

So try something like:

 [formatter setMaximumFractionDigits:2]; [formatter setMinimumFractionDigits:2]; 

Thus, you are dealing only with NSNumberFormatter and should not call anything extra on NSString.

+7
source

simple record

 NSString *myNum = [NSString stringWithFormat:@"%.2f", yourFlotNumber]; 
+6
source

try this his work is beautiful for me ...


NSNumberFormatter * formatter = [NSNumberFormatter new];

 [formatter setPositiveFormat:@",##,###.00"]; NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:no]]; 
+1
source
  NSNumberFormatter *formatter = [NSNumberFormatter new]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important! NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:appDelegate.C_WND_ClinInf_Average_Default]]; NSString *str = [[NSString alloc] initWithFormat:@"%.2f",yourfloatno]; 

try this one ...

0
source

I would rewrite your code a bit ... I don’t think you need a formatter.

 float myNumber = appDelegate.C_WND_ClinInf_Average_Default; NSString *myNumberAsText = [NSString stringWithFormat:@"%.2f",myNumber]; 

Hope this helps.

0
source

Source: https://habr.com/ru/post/1497914/


All Articles