NSNumber
NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。
如:
- #import <Foundation/Foundation.h>
- NSNumber *myNumber,*floatNumber,*intNumber,*number1;
- //创建integer类型对象
- intNumber = [NSNumber numberWithInteger:123];
- NSLog(@"%i",[intNumber integerValue]);
- //创建long类型对象
- myNumber = [NSNumber numberWithLong:0xababab];
- NSLog(@"%lx",[myNumber longValue]);
- //创建char类型对象
- myNumber = [NSNumber numberWithChar:'K'];
- NSLog(@"%c",[myNumber charValue]);
- //创建float类型对象
- floatNumber = [NSNumber numberWithFloat:123.00];
- NSLog(@"%f",[floatNumber floatValue]);
- //创建double类型对象
- myNumber = [NSNumber numberWithDouble:112233e+15];
- NSLog(@"%lg",[myNumber doubleValue]);
- //判断两个对象的值是否相等
- if ([intNumber isEqualToNumber:floatNumber] == YES ) {
- NSLog(@"值相等");
- } else {
- NSLog(@"值不相等");
- }
- //比较两个对象的值大小
- if ( [intNumber compare:myNumber] == NSOrderedAscending) {
- NSLog(@"左边的数字小");
- } else {
- NSLog(@"左边的数字大");
- }
- //初始化实例
- number1 = [[NSNumber alloc] initWithInt:1000];
- NSLog(@"%d",[number1 intValueunsigned];
- [number1 release];
对于每个基本类型,类方法都为这它分配了一个NSNumber对象,并将其设置为指定的值,这些方法都是以numberWith开始的,之后是类型,如numberWithLong。
此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如initWithLong。
如:
创建和初始化类方法 | 初始化实例方法 | 取值实例方法 |
---|---|---|
numberWithChar: | initWithChar: | charValue |
numberWithShort: | initWithShort: | shortValue |
... | ... | ... |
NSNumber的更多相关文章
- Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver
========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...
- 数字对象NSNumber
//将int类型转化成对象 ; NSNumber *numberString = [NSNumber numberWithInt:number]; //对象是可以放入数组的 NSArray *arra ...
- Objective-C( Foundation框架 一 NSNumber(NSValue))
NSNumber: 是OC中处理数字的一个类 NSValue是NSNumber的子类 如何处理: 把int,float,double 包装成一个对象 使用NSNumber的好处: 可以把基本数据类型 ...
- NSString,NSArray,NSNumber等类的继承问题
问题引入,我想给NSString类扩展一些新的方法.在Objective-C中可以有两种方法,一是继承,二是类别.本文先不讨论类别,我们用继承的方法试一下: @interface StringEx : ...
- 黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate
Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数 ...
- Objective - C 值对象 NSNumber和NSValue
在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...
- Foundation ----->NSNumber
/*--------------------NSNumber--------------------*/ //包装基本数据类型 //1.创建number对象 //12 ...
- NSString NSNumber 相互转化
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init]; NSNumber *firstNum = [NSNumber n ...
- NSValue&NSNumber
void testForNSValue(void) { int i=10; // NSLog(@"encode(int)=%s",@encode(int)); // N ...
- OC NSNumber NSValue
OC NSNumber NSValue iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作. NSNumber包装类 普通初始化 NSNumber * num1 = ...
随机推荐
- grunt个人理解
最近在学习grunt的内容,也希望能将grunt使用在新的项目中,本文是对grunt的相关概念的个人理解,仅供与道友们交流和学习,如有疑义,欢迎道友们指点. 首先,grunt是基于nodejs的,那就 ...
- springframework hibernate Transaction not successfully started
先贴出错误:org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transac ...
- myeclipse 解决没有自动提示
有时候myeclipse误操作会丢失自动提示功能,使用.也不出现代码提示,进入window->preferences->java->Editor->Content Assist ...
- 屏蔽全部统计代码(51.la cnzz 百度统计 谷歌分析师adsense、屏蔽淘宝客广告代码)的方法
支持百度统计 .51.la统计.cnzz统计.51yes统计.谷歌分析师.阿里妈妈淘宝客广告.chinaz弹窗.假设有很多其它的须要屏蔽的,欢迎联系 default7#zbphp.com 改动etc的 ...
- Android 官方命令深入分析
原文:www.libgdx.cn Android SDK包括了多种工具来帮助你创建基于Android平台的移动应用.这些工具一般分成两类:SDK 工具和 platform 工具. SDK 工具是独立的 ...
- oracle 常用博客网址
使用oradebug修改数据库scn – 提供专业ORACLE技术咨询和支持@Phone13429648788 - 惜分飞 Solaris上使用DTrace进行动态跟踪 老熊的三分地-Oracle及数 ...
- 进程的优先级 与 CFS 进程调度
在Linux下改变进程的优先级 作者:曾老师,华清远见嵌入式学院讲师. 作为多任务的操作系统,Linux内核为每个创建的进程分配时间片并根据其优先级进行调度.当进程被创建时,其对应的task_stru ...
- c++中返回对象与返回引用的区别
这几天在做用C++做课程设计,对其返回对象的实现感到迷惑. 通过对汇编代码的分析,可以清楚的看到,直接返回引用和返回对象的区别到底是什么. 分析的程序如下 #include<cstdio> ...
- 原创翻译:蓝牙(BLE)for iOS
About Core Bluetooth 简要:核心蓝牙框架提供了iOS和MAC 应用程序与BLE 设备进行无线通信所需要的类.通过该框架,应用程序可以扫描.发现BLE 外设,如心率.电子温度传感器等 ...
- javascript权威指南第6版学习笔记
javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console ...