iOS 数据类型转换

数据类型转换:

1)int-->NSNumber:numberWithInt
NSNumber *numObj = [NSNumber numberWithInt: 2];

2)NSNumber-->nsinteger:integerValue

3)string -->double:initWithString

4)CGFloat --> dobule:initWithFloat,decimalobj doubleValue

5) NSString与NSInteger的相互转换

    NSString * string = [NSString stringWithFormat:@"%d",integerNumber]; 

    integer = [string intValue]; 

6)浮点数值使用CGFloat,NSDecimalNumber对象进行处理:

  NSDecimalNumber *myDecimalObj = [[NSDecimalNumber alloc] initWithString:@"23.30"]; 
  NSLog(@"myDecimalObj doubleValue=%6.3f",[myDecimalObj doubleValue]);
  CGFloat myCGFloatValue = 43.4;
  NSDecimalNumber *myOtherDecimalObj = [[NSDecimalNumber alloc] initWithFloat:myCGFloatValue];
  NSLog(@"myOtherDecimalObj doubleValue=%6.5f",[myOtherDecimalObj doubleValue]);

int,NSInteger,NSUInteger,NSNumber

1)当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。

2)NSUInteger是无符号的,即没有负数,NSInteger是有符号的。

3)NSInteger是基础类型,但是NSNumber是一个类。如果想要在NSMutableArray里存储一个数值,直接用NSInteger是不行的,比如在一个NSMutableArray里面.

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;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • -1- 最近总有一种感觉:我很有钱。 真的真的,我都信以为真了:我居然是个富婆儿。 事情是这个样子的,我简单的讲。...
    八命先生阅读 11,670评论 196 234
  • 母亲节刚过,大家都会在朋友圈或多或少讲自己母亲的事情,或者发一张自己妈妈的照片。每一位母亲,当年也都有风华正茂的时...
    乔依的世界阅读 280评论 1 0
  • 周五看到食堂菜单时,我最讨厌吃的“猪头肉”果然又赫然在列,便暗暗下定决心不在食堂吃饭,后来想起自己身上没有...
    beansandrice阅读 408评论 0 0