学习过OC的同学应该都知道,OC中很多类型都是对象,NSArray中存储的是对象类型。所以把基本的C语言中的数字类型转换为OC中的NSNumber类型很有必要,下面就介绍几个常用的方法:

#import<Foundation/Foundation.h>intmain(intargc,constchar*argv[]){@autoreleasepool{//1.创建NSNumber对象NSNumber*num1=[[NSNumberalloc]initWithFloat:10.5];NSLog(@"%@",num1);//2.将num1转为基本数据类型floatvalue=[num1floatValue];NSLog(@"%.2f",value);//3.将对象转换为NSString类型的对象NSString*numStr=[num1stringValue];NSLog(@"%@",numStr);//如何将NSString类型的对象转为浮点型floatvalue1=[numStrfloatValue];NSLog(@"%.3f",value1);//4.判断两个NSNumber类型的对象是否相等NSNumber*num2=[[NSNumberalloc]initWithFloat:10.5];//isEqualToNumber:比较的是对象中存储的数据BOOLisEqual=[num1isEqualToNumber:num2];NSLog(@"isEqual=%d",isEqual);//5.比较compare:NSComparisonResultresult=[num1compare:num2];NSLog(@"%ld",result);}return0;}

具体的一些操作说明可以看代码中的注释,说的比较清楚。因为代码比较短,所以就把完整的代码给放上去了,其实这也是我在学习中总结的东西,基本上只实现了一种方法:float与对象和字符串的相互转换,另外int、short等C语言中的数字类型也可以用类似的方法来实现。另外BOOL类型也可以存储到NSNumber对象中。