学习过OC的同学应该都知道,OC中很多类型都是对象,NSArray中存储的是对象类型。所以把基本的C语言中的数字类型转换为OC中的NSNumber类型很有必要,下面就介绍几个常用的方法:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //1.创建NSNumber对象 NSNumber *num1 = [[NSNumber alloc] initWithFloat:10.5]; NSLog(@"%@", num1); //2.将num1转为基本数据类型 float value = [num1 floatValue]; NSLog(@"%.2f", value); //3.将对象转换为NSString类型的对象 NSString *numStr = [num1 stringValue]; NSLog(@"%@", numStr); //如何将NSString类型的对象转为浮点型 float value1 = [numStr floatValue]; NSLog(@"%.3f", value1); //4.判断两个NSNumber类型的对象是否相等 NSNumber *num2 = [[NSNumber alloc] initWithFloat:10.5]; //isEqualToNumber: 比较的是对象中存储的数据 BOOL isEqual = [num1 isEqualToNumber:num2]; NSLog(@"isEqual=%d", isEqual); //5.比较 compare: NSComparisonResult result = [num1 compare:num2]; NSLog(@"%ld", result); } return 0; }
具体的一些操作说明可以看代码中的注释,说的比较清楚。因为代码比较短,所以就把完整的代码给放上去了,其实这也是我在学习中总结的东西,基本上只实现了一种方法:float与对象和字符串的相互转换,另外int、short等C语言中的数字类型也可以用类似的方法来实现。另外BOOL类型也可以存储到NSNumber对象中。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。