Object-C中的数字对象

#import <Foundation/Foundation.h>

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

    @autoreleasepool {
        
        /*
         Object-C中的数字对象:
         1.int,float,long,double等都是Object-C中的基本数据类型,不是对象,也就是说不能够向他们发送消息。
         2.有时需要将值类型作为对象使用,如NSArray,要求存储的必须是对象,因此不能直接将基本数据类型放入数组。
         3.如果需要存储基本数据类型(包括char),可以使用NSNumber类。
         */
        
        NSNumber *intNumber,*longNumber,*floatNumber,*charNumber,*doubleNumber;
        
        //int型值
        intNumber=[NSNumber numberWithInt:100];
        NSLog(@"%i",[intNumber intValue]);
        
        //long型值
        longNumber=[NSNumber numberWithLong:0xabcdef];
        NSLog(@"%lx",[longNumber longValue]);
        
        //char型值
        charNumber=[NSNumber numberWithChar:'A'];
        NSLog(@"%c",[charNumber charValue]);
        
        //float型值
        floatNumber=[NSNumber numberWithFloat:100.00];
        NSLog(@"%g",[floatNumber floatValue]);
        
        //double型值
        doubleNumber=[NSNumber numberWithDouble:12345e+15];
        NSLog(@"%lg",[doubleNumber doubleValue]);
        
        //验证两个值是否相等
        if([intNumber isEqualToNumber:floatNumber]==YES)
        {
            NSLog(@"%i和%g比较,值相等",[intNumber intValue],[floatNumber floatValue]);
        }
        else
        {
            NSLog(@"%i和%g比较,值不等",[intNumber intValue],[floatNumber floatValue]);
        }
        
        //两个值比较大小
        if([intNumber compare:floatNumber]==NSOrderedAscending)
        {
            NSLog(@"%i和%g比较,第一个数<第二个数",[intNumber intValue],[floatNumber floatValue]);
        }
        else
        {
            NSLog(@"%i和%g比较,第一个数≥第二个数",[intNumber intValue],[floatNumber floatValue]);
        }
    }
    return 0;
}

输出结果:

2014-02-12 21:59:34.847 04.数字[1229:303] 100

2014-02-12 21:59:34.849 04.数字[1229:303] abcdef

2014-02-12 21:59:34.849 04.数字[1229:303] A

2014-02-12 21:59:34.850 04.数字[1229:303] 100

2014-02-12 21:59:34.850 04.数字[1229:303] 1.2345e+19

2014-02-12 21:59:34.850 04.数字[1229:303] 100100比较,值相等

2014-02-12 21:59:34.851 04.数字[1229:303] 100100比较,第一个数第二个数

Program ended with exit code: 0



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值