后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999怎么回事?该怎么处理啊?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
回傳的不是字串嗎? id = 2747 才是基本資料型,後台的鍋,直接讓後台處理
用NSNumber接受嘗試一下?然後,有時候類型轉換確實出錯,再然後,可以再瀏覽器上試試看。
謝謝各位,已經找到解決辦法了,在後台返回float或double類型時,利用NSDecimalNumber處理精度丟失問題。 此處我是以string方式接收的,直接加入NSString的分類,修正方法貼出來如下:
+(NSString )reviseString:(NSString )string{
/* 直接传入精度丢失有问题的Double类型*/ double conversionValue = (double)[string floatValue]; NSString *doubleString = [NSString stringWithFormat:@"%lf", conversionValue]; NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString]; return [decNumber stringValue];
}
這樣回傳的就是修正過精確度的資料了,因為個人需要所以轉成了string類型
回傳的不是字串嗎? id = 2747 才是基本資料型,後台的鍋,直接讓後台處理
用NSNumber接受嘗試一下?然後,有時候類型轉換確實出錯,再然後,可以再瀏覽器上試試看。
謝謝各位,已經找到解決辦法了,在後台返回float或double類型時,利用NSDecimalNumber處理精度丟失問題。
此處我是以string方式接收的,直接加入NSString的分類,修正方法貼出來如下:
+(NSString )reviseString:(NSString )string{
}
這樣回傳的就是修正過精確度的資料了,因為個人需要所以轉成了string類型