OC:NSNumber (Foundation)

来源:互联网 发布:psd软件怎么用 编辑:程序博客网 时间:2024/05/21 01:56

//

//  main.m

//  Foundation框架1212

//

//  Created by jerehedu on 14/12/12.

//  Copyright (c) 2014 jereh. All rights reserved.

//

 

#import <Foundation/Foundation.h>

 

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

{

 

    @autoreleasepool {

        

        // NSNumber:专门用来包装基础数据类型,把它存储为对象

        

        NSNumber *intN1 = [[NSNumber allocinitWithInt:1];

        NSLog(@"intN1=%@",intN1);

        NSNumber *intN2 = [[NSNumber allocinitWithInt:1];

        NSLog(@"intN2=%@",intN2);

        //判断两个对象是否相等

        // BOOL 类型  [intN1 isEqualToNumber:intN2]

        

        NSLog(@"%hhd",[intN1 isEqualToNumber:intN2]);

        

        //比较两个数字对象大小   isEqualToValue 比较相同数据类型

        

        if ([intN1 isEqualToValue: intN2]) {

            NSLog(@"相等");

            

        }

        else

            NSLog(@"不相等");

        

        

        

        //输出的对象是字符的Ascii

        NSNumber *charN = [[NSNumber allocinitWithChar:'q'];

        NSLog(@"charN=%@",charN);

        //把对象转化为相对应的数据类型

        char c = [charN charValue];

        NSLog(@"%c",c);

        

        

        

        NSNumber *floatW = [[NSNumber allocinitWithFloat:3.14];

        NSLog(@"floatW=%@",floatW);

        

        NSNumber *doubleQ = [[NSNumber allocinitWithDouble:1.000];

        NSLog(@"doubleQ=%@",doubleQ);

        

        

        

        NSNumber *string = [[NSNumber allocinitWithBool:YES];

        NSLog(@"string=%@",string);

        

        BOOL b = [string boolValue];

        NSLog(@"%hhd",b);

        

        

        NSNumber *stringq = [[NSNumber allocinitWithBool:NO];

        NSLog(@"stringq=%@",stringq);

        

        //比较两个数字对象的大小

 

        //[intN2 compare:doubleQ]    -1 0 1

        if ([intN1 compare:intN2] == NSOrderedAscending) {

            NSLog(@"比较两个数字对象的大小 %@ < %@",intN1,intN2);

        }else if ([intN1 compare: intN2 ] == NSOrderedSame)

        {

             NSLog(@"比较两个数字对象的大小 %@ = %@",intN1,intN2);

        }

        else

        {

             NSLog(@"比较两个数字对象的大小 %@ > %@",intN1,intN2);

        }

        //NSLog(@"aaa%ld",[intN2 compare:doubleQ]);

        

        NSNumber *charM1 = [[NSNumber allocinitWithChar:'A'];

        NSLog(@"charM1=%@",charM1);

        NSNumber *charM2 = [[NSNumber allocinitWithChar:'a'];

        NSLog(@"charM2=%@",charM2);

        char d = [charM1 charValue];

        NSLog(@"%c",d);

        

        if ( [charM1 compare:charM2] == NSOrderedAscending) {

            NSLog(@"比较两个数字对象的大小 %@ < %@",charM1,charM2);

        }else if ([charM1 compare:charM2] == NSOrderedSame)

        {

            NSLog(@"比较两个数字对象的大小 %@ = %@",charM1,charM2);

        }

        else

        {

            NSLog(@"比较两个数字对象的大小 %@ > %@",charM1,charM2);

        }

        

        

        

        

        if ( [intN1 compare:doubleQ] == NSOrderedAscending) {

            NSLog(@"比较两个数字对象的大小 %@ < %@",intN1,doubleQ);

        }else if ([intN1 compare:doubleQ] == NSOrderedSame)

        {

            NSLog(@"比较两个数字对象的大小 %@ = %@",intN1,doubleQ);

        }

        else

        {

            NSLog(@"比较两个数字对象的大小 %@ > %@",intN1,doubleQ);

        }

        

        

        //    isEqualToValue

        if ([intN1 isEqualToValue: doubleQ]) {

            NSLog(@" isEqualToValue  相等");

            

        }

        else

            NSLog(@"isEqualToValue   不相等");

        

        

        //   isEqualToNumber

        if ([intN1 isEqualToNumber: doubleQ]) {

            NSLog(@"isEqualToNumber  相等");

            

        }

        else

            NSLog(@"isEqualToNumber  不相等");

 

        

    }

    return 0;

}

 

 

0 0