#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] 100和100比较,值相等
2014-02-12 21:59:34.851 04.数字[1229:303] 100和100比较,第一个数≥第二个数
Program ended with exit code: 0
时间: 2024-10-22 11:08:22