Objective-C中NSNumber详细用法

在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。
NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。

如:

[cpp] view plaincopy

  1. #import <Foundation/Foundation.h>
  2. NSNumber *myNumber,*floatNumber,*intNumber,*number1;
  3. //创建integer类型对象
  4. intNumber = [NSNumber numberWithInteger:123];
  5. NSLog(@"%i",[intNumber integerValue]);
  6. //创建long类型对象
  7. myNumber = [NSNumber numberWithLong:0xababab];
  8. NSLog(@"%lx",[myNumber longValue]);
  9. //创建char类型对象
  10. myNumber = [NSNumber numberWithChar:‘K‘];
  11. NSLog(@"%c",[myNumber charValue]);
  12. //创建float类型对象
  13. floatNumber = [NSNumber numberWithFloat:123.00];
  14. NSLog(@"%f",[floatNumber floatValue]);
  15. //创建double类型对象
  16. myNumber = [NSNumber numberWithDouble:112233e+15];
  17. NSLog(@"%lg",[myNumber doubleValue]);
  18. //判断两个对象的值是否相等
  19. if ([intNumber isEqualToNumber:floatNumber] == YES ) {
  20. NSLog(@"值相等");
  21. } else {
  22. NSLog(@"值不相等");
  23. }
  24. //比较两个对象的值大小
  25. if ( [intNumber compare:myNumber] == NSOrderedAscending) {
  26. NSLog(@"左边的数字小");
  27. } else {
  28. NSLog(@"左边的数字大");
  29. }
  30. //初始化实例
  31. number1 = [[NSNumber alloc] initWithInt:1000];
  32. NSLog(@"%d",[number1 intValueunsigned];
  33. [number1 release];

对于每个基本类型,类方法都为这它分配了一个NSNumber对象,并将其设置为指定的值,这些方法都是以numberWith开始的,之后是类型,如numberWithLong。
此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如initWithLong。

如:

创建和初始化类方法 初始化实例方法 取值实例方法
numberWithChar: initWithChar: charValue
numberWithShort: initWithShort: shortValue
... ... ...
时间: 2024-09-29 17:24:09

Objective-C中NSNumber详细用法的相关文章

mysql中游标在存储过程中的详细用法

昨天写的一个东东,分享下给大家. drop PROCEDURE  if exists sp_cleanUserData; CREATE  PROCEDURE `sp_cleanUserData`() BEGIN /*定义游标*/ declare v_dt bigint(20) default 0 ; declare v_num INT DEFAULT 0; /*游标循环到末尾时给定义的常量赋值*/ declare cur_userId   CURSOR FOR select  userId fr

IOS中NSNumber常见用法

一.NSnumber常见用法 NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (int)intValue; - (double)doubleValue; -(float)floatValue; 二.使用 NSNumber * intNumber=[NSNumber numberWithInt:100]: NSNumber *floatNumber=[N

oracle中to_date详细用法示例(oracle日期格式转换)

这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'

JS中Array详细用法

1.数组的创建 var name= new Array(); //创建一个数组 name[0]="zhangsan";   //给数组赋值 name[1]="lisi"; var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var name=["zhangsan","lisi"];       //创建一个数组并赋值 var name=new Array(&qu

java中Statement详细用法。

1.创建 Statement 对象 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句.Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示: Connection con = DriverManager.getConnection(url, "sunny","");Statement stmt = con.createStatement(); 为了执行 Statement 对象,被发送到数据库的

Linux中find、grep命令详细用法

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

PHP中SESSION与COOKIE的详细用法

1. PHP的COOKIEcookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制.PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似.1.1 设置cookie:可以用 setcookie() 或 setrawcookie() 函数来设置 cookie.也可以通过向客户端直接发送http头来设置.1.1.1 使用setcookie()函数设置cookie:bool setc

js中indexof的用法详细解析

本篇文章主要是对js中indexof的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String.IndexOf 方法 (Char, [startIndex], [count]) 报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. 参数 value 要查找的 Unicode 字符. 对 value 的搜索区分大小写. startIndex(Int32) 可选项,搜索起始位置.不设置则从0开始. count(Int32) 可选项,要

Hibernate中createCriteria即QBC查询的详细用法 .Hibernate中createCriteria即QBC查询的详细用法 .

现在假设有一个Student类,内有id,name,age属性String hql = "from Student s";按照以前的做法,我们通常是Query query = session.createQuery(hql);或者要按照条件检索的话.String hql = "from Student s where s.name like '王%'"Query query = session.createQuery(hql);不用HQL而使用QBC的话,那么代码为