【Objective-C】各种数据类型之间的转换方法

解析数据过程中经常会遇见各种数据类型转换的问题,整理一下分享给大家。

NSString:字符串类

NSString *newString = @"123"

// 1)字符串类型 转化为 基本数据类型
NSInteger _intValue = [newString intValue];
NSLog(@"%ld", _intValue);

CGFloat _floatValue = [newString floatValue];
NSLog(@"%.2f", _floatValue);


// 2)基本数据类型 转化为 字符串类型
NSString *intString = [NSString stringWithFormat:@"%d", _intValue];
NSLog(@"%@", intString);

NSString *floatString = [NSString stringWithFormat:@"%f", _floatValue];
NSLog(@"%@", floatString);

NSNumber:数值类

// 完成基本数据类型和数值类型的转换
// 1)基本数据类型 转化为 数值对象
NSNumber *intNumber = [NSNumber numberWithInteger:5];
NSLog(@"%@", intNumber);

NSNumber *charNumber = [NSNumber numberWithChar:'a'];
NSLog(@"%@", charNumber);

NSNumber *floatNumber = [NSNumber numberWithFloat:12.15];
NSLog(@"%@", floatNumber);
    
// 2)数值对象 转化为 基本数据类型
NSInteger _intValue = [intNumber integerValue];
NSLog(@"%ld", _intValue);

CGFloat _floatValue = [floatNumber floatValue];
NSLog(@"%.2f", _floatValue);

char _charValue = [charNumber charValue];
NSLog(@"%c", _charValue);

// 3)数值对象 转化为 字符串对象
// 假设现有一数值类型的变量A,要转换成字符串类型的B
NSNumberFormatter* numberFormatter = [[NSNumberFormatteralloc] init];
B = [numberFormatter stringFromNumber:A];
    

NSValue:结构体对象类

// 结构体变量 转化为 NSValue对象
NSValue *point = [NSValue valueWithPoint:NSMakePoint(10, 20)];
NSLog(@"%@", point);

NSValue *size = [NSValue valueWithSize:NSMakeSize(320, 480)];
NSLog(@"%@", size);

NSValue *rect = [NSNumber valueWithRect:NSMakeRect(0, 0, 375, 667)];
NSLog(@"%@", rect);

// NSValue对象 转化为 结构体变量
NSPoint _pointVale = [point pointValue];
NSLog(@"%@", NSStringFromPoint(_pointVale));

NSSize _sizeValue = [size sizeValue];
NSLog(@"%@", NSStringFromSize(_sizeValue));

NSRect _rectValue = [rect rectValue];
NSLog(@"%@", NSStringFromRect(_rectValue));

// Format:万能公式标志
NSMutableString *string2 = [NSMutableString stringWithFormat:@"这是一个神奇的万能公式,相当实用"];
NSInteger number = 12345;
[string appendFormat:@"%ld", number];
NSLog(@"%@", string);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容