首先请求到的数据都会变成字符串,先将字符串转化为double类型
double fdouble = [str doubleValue];
然后再设置小数点后的位数
[NSString stringWithFormat:@"%.1f", fdouble];
重点: 提供一个NSSing的扩展,传入需要保留的小数位,返回字符串。并且去掉末尾的0.
#import <Foundation/Foundation.h> @interface NSString (EliminateZero) // integer 必传 - (NSString *)eliminateZeroWithDouble:(NSInteger)integer; @end #import "NSString+EliminateZero.h" @implementation NSString (EliminateZero) - (NSString *)eliminateZeroWithDouble:(NSInteger)integer{ NSString *str = [self copy]; double fdouble = [str doubleValue]; NSString *ftotal; switch (integer) { case 1: ftotal = [NSString stringWithFormat:@"%.1f", fdouble]; break; case 2: ftotal = [NSString stringWithFormat:@"%.2f", fdouble]; break; case 3: ftotal = [NSString stringWithFormat:@"%.3f", fdouble]; break; case 4: ftotal = [NSString stringWithFormat:@"%.4f", fdouble]; break; case 5: ftotal = [NSString stringWithFormat:@"%.5f", fdouble]; break; default: break; } while ([ftotal hasSuffix:@"0"]) { ftotal = [ftotal substringToIndex:[ftotal length]-1]; } if ([ftotal hasSuffix:@"."]) { ftotal = [ftotal substringToIndex:[ftotal length]-1]; } return ftotal; } @end