iOS JSON解析精度丢失 并 NSString 转 Doub

2017-10-13  本文已影响381人  admxjx

题注:iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0

  1. 服务器返回 9.88
  2. XCode使用double接收

问题: 因为数据和利率有关,产品要求小数位去无效0。 也就是说 9.00%显示 9%,9.80%显示9.8%;

===============解决方法:

1. jsonmodel 使用NSString接收 《不推荐,会有丢失精度》
2. 使用NSDecimalNumber

=============== 上代码(NSDecimalNumber)

double num = 9.88000;
// 转成string
NSString *doubleString = [NSString stringWithFormat:@"%lf", num];
// 将字符串转成一个十进制数。
NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
NSLog(@"%@", [decNumber stringValue]);

=============== 上效果截图(有图有真相)

后台返回percent : 9.88 在json解析时失去精度

image.png

本人QQ:1103868202... 新建QQ群:398369031

欢迎来讨论交流技术。

PS:(现就职于滨江. 合么金服 )

上一篇下一篇

猜你喜欢

热点阅读