首页 > 代码库 > iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0
iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0
首先请求到的数据都会变成字符串,先将字符串转化为double类型
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Menlo; color: #ffffff } span.s1 { color: #de38a6 } span.s2 { } span.s3 { color: #00b1ff }</style>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
iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。