iOS - OC NSNumber 数字

本文详细介绍了iOS开发中NSNumber的使用,包括与基本数据类型的转换、比较和NSString的转换,以及NSDecimalNumber的运算。此外,还探讨了随机数生成,如arc4random()、rand()的使用及其比较,以及如何生成指定长度的随机数。
摘要由CSDN通过智能技术生成

前言

    @interface NSNumber : NSValue
    @interface NSDecimalNumber : NSNumber
  • 将基本数据类型包装成 OC 对象

1、NSNumber 与 基本数据类型 的相互转换

    // 基本数据类型 转 NSNumber
            
        // 对象方法,将整形数据转换为 OC 对象
        NSNumber *num1 = [[NSNumber alloc] initWithInt:123];
        
        // 类方法,  将浮点型数据转换成 OC 对象
        NSNumber *num2 = [NSNumber numberWithFloat:10.456];
        
        // @ + 基本数据类型 直接创建
        NSNumber *num3 = @234;
        
        NSNumber *num4 = @0xabcdefL;
        NSNumber *num5 = @'S';
        NSNumber *num6 = @100.0f;
            
        int a = 123;
        float b = 200.0f;
            
        // @ + 表达式 直接创建
        NSNumber *num7 = @((a + b) / 2.0);
            
    // NSNumber 转 基本数据类型
    
        int n1 = [num1 intValue];
        float n2 = [num2 floatValue];
            
        NSInteger n3 = [num3 integerValue];
        long n4 = [num4 longValue];
        char n5 = [num5 charValue];
        float n6 = [num6 floatValue];
            
        float n7 = [num7 floatValue];

2、比较两个 NSNumber 类型数据的大小

    NSNumber *num1 = [NSNumber numberWithFloat:123];
    NSNumber *num2 = [NSNumber numberWithFloat:10.456];
        
    // isEqualToNumber
    
        BOOL bl = [num1 isEqualToNumber:num2];
      
    // compare
        
        NSComparisonResult result = [num1 compare:num2];
            
        if (result == NSOrderedAscending) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值