NSNumber

1.NSNumber基本概念

  • NSArray\NSDictionary中只能存放OC对象,不能存放int\float\double等基本数据类

  • 如果真想把基本数据(比如int)放进数组或字典中,需要先将基本数据类型包装成OC对象

  • NSNumber可以将基本数据类型包装成对象,这样就可以间接将基本数据类型存进NSArray\NSDictionary中

2.NSNumber的创建

  • 以前
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithDouble:(double)value;
+ (NSNumber *)numberWithBool:(BOOL)value;
  • 现在
@10;
@10.5;
@YES;
@(num);

3.从NSNumber对象中的到基本类型数据

- (char)charValue;
- (int)intValue;
- (long)longValue;
- (double)doubleValue;
- (BOOL)boolValue;
- (NSString *)stringValue;
- (NSComparisonResult)compare:(NSNumber *)otherNumber;
- (BOOL)isEqualToNumber:(NSNumber *)number;

 

 

//  main.m
//  NSNumber


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    int age = 10;
    double number= 5.1;
    int value =  6;
//    NSArray *arr =  @[age, number, value];
    // 1.将基本数据类型转换为对象类型
    NSNumber *ageN = [NSNumber numberWithInt:age];
    NSNumber *numberN = [NSNumber numberWithDouble:number];
    NSNumber *valueN = [NSNumber numberWithInt:value];
    
    NSArray *arr = @[ageN, numberN, valueN];
    NSLog(@"arr = %@", arr);
    
    // 2.将对象类型转换为基本数据类型
//    int temp = [ageN intValue];
//    double temp = [numberN doubleValue];
//    NSLog(@"%f", temp);
    
    // 3.基本数据类型转换对象类型简写
    // 注意: 如果传入的是变量那么必须在@后面写上(), 如果传入的常量, 那么@后面的()可以省略
//    NSNumber *temp = @(number);
    NSNumber *temp  =@10.10;
    NSLog(@"%@", temp);
    
    return 0;
}

 

转载于:https://www.cnblogs.com/xufengyuan/p/6647714.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值