閱讀47 返回首頁    go 技術社區[雲棲]


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



最後更新:2017-04-03 12:55:04

  上一篇:go Jquery.Treeview+Jquery UI製作Web文件預覽
  下一篇:go android多屏幕分辨率適配