028 Foundation框架中的数字类型:NSNmuber
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了028 Foundation框架中的数字类型:NSNmuber相关的知识,希望对你有一定的参考价值。
看官们,我们在上一章回中对NSNumber类型做了详细的分析,本章回中我们将给出完整的代码,请大家参考:
#import<Foundation/Foundation.h>
int main()
{
int intValue = 4;
NSInteger nsIntegerValue = 5;
//两种初始化NSNumber的方法
NSNumber *nsNumberA = [NSNumber numberWithInt: 6];
NSNumber *nsNumberB = [[NSNumber alloc] initWithInt: 7];
NSNumber *nsNumberC = [NSNumber numberWithChar:'A'];
NSNumber *nsNumberD = [NSNumber numberWithBool:NO];
NSLog(@"intValue = %i, nsIntegerValue = %li",intValue,nsIntegerValue);
NSLog(@"nsNumberA = %@, nsNumberB = %@",nsNumberA,nsNumberB);
NSLog(@"nsNumberC = %@, nsNumberD = %@",nsNumberC,nsNumberD);
//对象类型的数字转换为基本类型的数字
intValue = [nsNumberA intValue];
nsIntegerValue = [nsNumberB intValue];
NSLog(@"intValue = %i, nsIntegerValue = %li",intValue,nsIntegerValue);
//对象类型的数字做比较,使用布尔值来判断比较结果
if([nsNumberA isEqualToNumber: nsNumberB])
NSLog(@" nsNumberA == nsNumberB");
else
NSLog(@" nsNumberA != nsNumberB");
//使用枚举常量来判断比较结果
if(NSOrderedAscending == [nsNumberA compare:nsNumberB])
NSLog(@" nsNumberA < nsNumberB");
else
NSLog(@" nsNumberA >= nsNumberB");
if(NSOrderedAscending == [nsNumberC compare:nsNumberD])
NSLog(@" nsNumberC < nsNumberD");
else
NSLog(@" nsNumberC >= nsNumberD");
//使用枚举值来判断比较结果
if([nsNumberA compare:nsNumberB] > 0)
NSLog(@" nsNumberA > nsNumberB");
else
NSLog(@" nsNumberA <= nsNumberB");
return 0;
}
我们在代码中只列出了部分基本类型,大家可以举一反三自己动手写出来其它的基本类型并且编译运行。下面是程序的运行结果,请大家参考:
ex.out[1405:79901] intValue = 4, nsIntegerValue = 5
ex.out[1405:79901] nsNumberA = 6, nsNumberB = 7
ex.out[1405:79901] nsNumberC = 65, nsNumberD = 0
ex.out[1405:79901] intValue = 6, nsIntegerValue = 7
ex.out[1405:79901] nsNumberA != nsNumberB
ex.out[1405:79901] nsNumberA < nsNumberB
ex.out[1405:79901] nsNumberC >= nsNumberD
ex.out[1405:79901] nsNumberA <= nsNumberB
看官们,欲知后事如何且听下回分解!
以上是关于028 Foundation框架中的数字类型:NSNmuber的主要内容,如果未能解决你的问题,请参考以下文章