美文网首页
ios 判断字典中的数据类型

ios 判断字典中的数据类型

作者: 超级码LEO | 来源:发表于2018-03-06 16:50 被阅读1850次

ios网络请求多数用json格式,数据解析之后的NSDictionary中的数据类型只有断点以后的控制台或者po出来查看,

代码上如何处理各种数据类型的

+(NSString*)fromTypeToString:(id)data{

// 判断是不是数字类型

    NSNumber *myNumber  = (NSNumber *)data;

    int minThreshold = [myNumber intValue];

    if ((int)minThreshold < 1 )

    {

        NSLog(@"不是数字");

    }

    else{

//  对于各种数字类型的  处理

        if (strcmp([myNumber objCType], @encode(BOOL)) == 0) { // 布尔值

            returnString = @"BOOL";

            NSLog(@"this is a bool");

        } else if (strcmp([myNumber objCType], @encode(int)) == 0) { // int 类型

            returnString = @"int";            

            NSLog(@"this is an int");

        }

        else if (strcmp([myNumber objCType], @encode(float)) == 0) { // float 类型

            returnString = @"float";

            NSLog(@"this is an float");

        }

        else if (strcmp([myNumber objCType], @encode(double)) == 0) { // double 类型

            returnString = @"double";

            NSLog(@"this is an double");

        }

}

关于 double 类型  精度丢失 的问题解决

double conversionValue =  [[data[@"double"] stringValue] doubleValue];

NSString *doubleString = [NSString stringWithFormat:@"%lf", conversionValue];   

NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];

 return [decNumber stringValue];

相关文章

网友评论

      本文标题:ios 判断字典中的数据类型

      本文链接:https://www.haomeiwen.com/subject/gelrfftx.html