`
反求诸己
  • 浏览: 534104 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

OC 常用数据类型之间的转换

 
阅读更多

1: NSString  <==> NSInteger

 

 

NSInteger转化 NSString类型:
      [ NSString  stringWithFormat:  @"%d" , NSInteger];
NSString转化 NSInteger类型:
      NSInteger = [ NSString   intValue ]

2 : NSString <==> NSNumber
NSNumber 转换 NSString 类型:

  NSNumber *indexNum = [NSNumber numberWithInt:index];

UITextView *login = (UITextView*)[[UIView alloc] viewWithTag:1];
NSNumberFormatter *formater = [[NSNumberFormatter alloc ] init];
[login setText:[formater stringFromNumber:indexNum]];
NSString 转换为 NSNumber 类型:
[NSString stringWithFormat]
3、 int,NSInteger,NSUInteger,NSNumber 
1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用 NSInteger,因为这样就不用考虑设备是32位的还是64位的
2. NSUInteger是无符号的 ,即没有负数,NSInteger是有符号的。

3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的。
 NSInteger是基础类型,但是NSNumber是一个类 。如果想要在NSMutableArray里存储一个数值,直接用NSInteger是不行的,比如在一个NSMutableArray里面这样用:
  1. NSMutableArray *array = [[NSMutableArray alloc]init];  
  2.     [array addObject:[ NSNumber numberWithInt :88]];  
4.NSString 与 int ,float,double,NSInteger之间的转换

    NSString *teststring = @"32.54" ;

    int i = [teststring intValue ];

    float i1 = [teststring floatValue ];

    double i2 = [teststring doubleValue ];

    NSInteger i3 = [teststring integerValue ];

    

    NSString *tostring = nil ;

    tostring = [ NSString stringWithFormat: @"%d" ,i];

    NSLog ( @"tostring-int:%@",tostring);

    tostring = [ NSString stringWithFormat: @"%.3f" ,i1];

    NSLog ( @"tostring-float:%@",tostring);

    tostring = [ NSString stringWithFormat: @"%e" ,i2];

    NSLog ( @"tostring-double:%@",tostring);

 

NSNumber转NSString:

假设现有一NSNumber的变量A,要转换成NSString类型的B

方法如下:

NSNumberFormatter * numberFormatter = [[NSNumberFormatter allocinit ];

B = [numberFormatter stringFromNumber :A ];

[numberFormatter release ];

 

nsstring和float 还有int之间的转换

 

NSString *tempA = @"123";

NSString *tempB = @"456";

 

1,字符串拼接

NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

 

2,字符转int

int intString = [newString intValue];

 

3,int转字符

NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

 

4,字符转float

float floatString = [ newString floatValue];


5,float转字符

NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];

///////
  1. NSString *a = [[NSString alloc] initWithString : @"5, 10, 2, 0, 0, 0.01, 1, 0.05, 0, 0, 0"];
  2. NSArray *bullteData = [a componentsSeparatedByString:@","];
  3. [a release];
  4. for (int i = 0; i < [bullteData count]; i++) {
  5. NSLog(@"%f",[[NSString stringWithFormat:@"%@",[bullteData objectAtIndex:i]] floatValue]);
  6. }
  1. NSString *a = [[NSString alloc] initWithString : @"5, 10, 2, 0, 0, 0.01, 1, 0.05, 0, 0, 0"];  
  2. NSArray *bullteData = [a componentsSeparatedByString:@","];  
  3. [a release];  
  4. for (int i = 0; i < [bullteData count]; i++) {  
  5. NSLog(@"%f",[[NSString stringWithFormat:@"%@",[bullteData objectAtIndex:i]] floatValue]);  
  6. }  
将字符串存到数组中,在读取的时候转换成需要的类型。
分享到:
评论
1 楼 hhb19900618 2015-02-27  
NSString <==> NSNumber 之前都没注意这样使用!不错,学习一下

相关推荐

Global site tag (gtag.js) - Google Analytics