IOS里面一些基础类型的使用点
2012-08-26 18:58
477 查看
1 小结: 1)int-->NSNumber:numberWithInt 2)NSNumber-->nsinteger:integerValue 3)string -->double:initWithString 4)CGFloat --> dobule:initWithFloat,decimalobj doubleValue 5)使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。 6)NSInteger是基础类型,但是NSNumber是一个类。如果想要在NSMutableArray里存储一个数值,直接用NSInteger是不行的,比如在一个NSMutableArray里面. 7) NSString与NSInteger的相互转换 NSString * string = [NSString stringWithFormat:@"%d",integerNumber]; integer = [string intValue]; static void numberTest(){ NSNumber *numObj = [NSNumber numberWithInt: 2]; NSLog(@"numObj=%@",numObj); NSInteger myInteger = [numObj integerValue]; NSLog(@"myInteger=%d",myInteger); int a = [numObj intValue]; NSLog(@"a=%d",a); //浮点数值使用CGFloat,NSDecimalNumber对象进行处理: NSDecimalNumber *myDecimalObj = [[NSDecimalNumber alloc] initWithString:@"23.30"]; NSLog(@"myDecimalObj doubleValue=http://www.cnblogs.com/csj007523/archive/2012/07/16/%6.3f",[myDecimalObjdoubleValue]); CGFloat myCGFloatValue = http://www.cnblogs.com/csj007523/archive/2012/07/16/43.4; NSDecimalNumber *myOtherDecimalObj = [[NSDecimalNumber alloc]initWithFloat:myCGFloatValue]; NSLog(@"myOtherDecimalObj doubleValue=http://www.cnblogs.com/csj007523/archive/2012/07/16/%6.5f",[myOtherDecimalObjdoubleValue]); } 2 、C语言的基本数据类型长度 NSLog(@"The size of an int is: %lu bytes.",sizeof(int)); NSLog(@"The size of a short int is: %lu bytes.",sizeof(short int)); NSLog(@"The size of a long int is: %lu bytes.",sizeof(long int)); NSLog(@"The size of a char is: %lu bytes.",sizeof(char)); NSLog(@"The size of a float is: %lu bytes.",sizeof(float)); NSLog(@"The size of a double is: %lu bytes.",sizeof(double)); NSLog(@"The size of a bool is: %lu bytes.",sizeof(bool)); // Do any additional setup after loading the view, 结果: 2012-06-13 13:55:46.726 BaseType[3032:f803] The size of an int is: 4 bytes. 2012-06-13 13:55:46.726 BaseType[3032:f803] The size of a short int is: 2 bytes. 2012-06-13 13:55:46.727 BaseType[3032:f803] The size of a long int is: 4 bytes. 2012-06-13 13:55:46.731 BaseType[3032:f803] The size of a char is: 1 bytes. 2012-06-13 13:55:46.732 BaseType[3032:f803] The size of a float is: 4 bytes. 2012-06-13 13:55:46.733 BaseType[3032:f803] The size of a double is: 8 bytes. 2012-06-13 13:55:46.733 BaseType[3032:f803] The size of a bool is: 1 bytes. 3、格式化输出数据 //整型 int integerType = 5; //浮点型 float floatType = 3.1415; //双浮点型 double doubleType = 2.2033; //短整型 short int shortType = 200; //长整型 long long int longlongType = 7758123456767L; //c语言字符串 char * cstring = "this is a string!"; //整型 NSLog(@"The value of integerType = %d",integerType); //浮点型 NSLog(@"The value of floatType = %.2f",floatType); //双浮点型 NSLog(@"The value of doubleType = %e",doubleType); //短整型 NSLog(@"The value of shortType = %hi",shortType); //长整型 NSLog(@"The value of longlongType = %lli",longlongType); //c语言字符串 NSLog(@"The value of cstring = %s",cstring); 结果: 2012-06-13 14:06:18.757 BaseType[3215:f803] The value of integerType = 5 2012-06-13 14:06:18.757 BaseType[3215:f803] The value of floatType = 3.14 2012-06-13 14:06:18.758 BaseType[3215:f803] The value of doubleType = 2.203300e+00 2012-06-13 14:06:18.758 BaseType[3215:f803] The value of shortType = 200 2012-06-13 14:06:18.758 BaseType[3215:f803] The value of longlongType = 7758123456767 2012-06-13 14:06:18.758 BaseType[3215:f803] The value of cstring = this is a string! 4、 int,NSInteger,NSUInteger,NSNumber 1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。 2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的。
NSInteger是基础类型,但是NSNumber是一个类。如果想要在NSMutableArray里存储一个数值,直接用NSInteger是不行的,比如在一个NSMutableArray里面这样用: NSMutableArray *array = [[NSMutableArray alloc]init]; [array addObject:[NSNumber numberWithInt:88]]; 这样是会引发编译错误的,因为NSMutableArray里面放的需要是一个类,但‘88’不是类。 Cocoa提供了NSNumber类来包装(即以对象形式实现)基本数据类型。 例如以下创建方法: + (NSNumber *) numberWithChar: (char) value; + (NSNumber *) numberWithInt: (int) value; + (NSNumber *) numberWithFloat: (float) value; + (NSNumber *) numberWithBool: (BOOL) value; 将基本类型数据封装到NSNumber中后,就可以通过下面的实例方法重新获取它: - (char) charValue; - (int) intValue; - (float) floatValue; - (BOOL) boolValue; - (NSString *) stringValue; 例子: NSNumber *num = [NSNumber numberWithInt:88]; NSInteger integer = [num intValue]; 5、NSString与NSInteger的相互转换 NSInteger integerNumber = 888; NSString * string = [NSString stringWithFormat:@"%d",integerNumber]; NSLog(@"string is %@", string); integer = [string intValue]; NSLog(@"integer is%d", integerNumber); char float等类型一样可以转换 |
相关文章推荐
- iOS开发UI基础—14IOS开发中Xcode的一些使用技巧
- IOS开发基础—关于uikit框架里面uiview类的一些知识点
- iOS-UI基础-Xcode的一些使用技巧
- iOS开发OC基础:OC属性的一些概念和基本使用
- 【IOS开发基础系列】OC基础数据类型使用专题
- iOS基础: navigationController.popToViewController的使用
- 【js基础】javascript中关于数据类型一些知识和类型判断
- ios 使用UINavagationController时,push,pop方法执行的一些方法 - shidaying
- IOS 开发笔记——使用类型常量,少用预处理命令
- [VC++]一些常用数据类型的使用
- IOS的UITextField,UIButton,UIWebView的一些属性介绍和IOS图片资源的使用技巧
- C#超基础:enum类型的使用
- iOS编程基础-OC(十五)-块的内存管理和使用
- 在ghci里面使用let定义函数,并且对函数加上类型声明
- Cocos2dx下使用JNI技术调用jar包里面的一些方法遇到的一些问题及解决方案
- Java 基本类型 long 的一些使用陷阱
- iOS-UI基础-xib的简单使用
- iOS基础(二)iOS 系统目录说明,APP目录使用说明
- iOS中使用 Reachability 检测网络区分手机网络类型 WiFi 和2 3 4 G
- SpringMVC(25):使用springmvc 同时上传文件与数据(数据模型或基础类型数据)的示例