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] 100和100比较,值相等
2014-02-12 21:59:34.851 04.数字[1229:303] 100和100比较,第一个数≥第二个数
Program ended with exit code: 0
Object-C中的数字对象的更多相关文章
- 重写Object类中的equals方法
Object是所有类的父亲,这个类有很多方法,我们都可以直接调用,但有些方法并不适合,例如下面的student类 public class Student { //姓名.学号.年纪 private S ...
- [Effective JavaScript 笔记]第47条:绝不要在Object.prototype中增加可枚举的属性
之前的几条都不断地重复着for...in循环,它便利好用,但又容易被原型污染.for...in循环最常见的用法是枚举字典中的元素.这里就是从侧面提出不要在共享的Object.prototype中增加可 ...
- 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解(转载)
java中的hashcode.equals和toString方法都是基类Object的方法. 首先说说toString方法,简单的总结了下API说明就是:返回该对象的字符串表示,信息应该是简明但易于读 ...
- Object类中getClass()
Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类.类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型.所有的类型类 ...
- Object类中方法详解
目录 概述 hashCode方法 getClass方法 toString方法 equals方法 clone方法 finalize方法 概述 Object 是类层次结构的根类.每个类都使用 Object ...
- -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中
本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait( ...
- Object类中通用方法之:toString()方法
1.Java所有的对象都是Object类的实例,都可以直接调用该类中定义的方法,这些方法称为通用方法 2.toString()方法即为Object类中定义的通用方法之一 3.平时我们如果在控制台直接打 ...
- wait(),notify(),notifyAll()用来操作线程为什么定义在Object类中?
这些方法存在于同步中: 使用这些方法必须标识同步所属的锁: 锁可以是任意对象,所以任意对象调用方法一定定义在Object类中. Condition是在java 1.5中才出现的,它用来替代传统的Obj ...
- Object类中常见的方法,为什么wait notify会放在Object里边
toString():输出一个对象的地址字符串(哈希code码):可以通过重写toString方法,获取对象的属性! equals():比较的是对象的引用是否指向同一块内存地址, 重写equals() ...
随机推荐
- Computer Vision Tutorials from Conferences (3) -- CVPR
CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...
- C语言不定参数
最近,遇到一个c语言的不定参数问题.其实,对于c语言的不定参数问题,只需要三个函数就可以搞定了.这三个函数的头文件是<stdarg.h>,其实下面的三个函数都是一个宏定义(macro). ...
- 在Qt示例项目的C ++ / QML源中的//! [0]的含义是什么?
在Qt示例项目的C ++ / QML源中的//! [0]的含义是什么? 例如: //! [0] GLWidget :: GLWidget(Helper * helper,QWidget * pare ...
- 进度对话框 ProgressDialog 用法总结
ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog ); dialog.setButton(DialogInterface.BUTTO ...
- webapp开发基础
1.首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-wid ...
- c# 使用api函数 ShowWindowAsync 控制窗体
1.需要匯入 System.Runtime.InteropServices 命名空間 2.宣告 ShowWindowAsync 函數 [DllImport("user32.dll" ...
- [Python爬虫] 之三十一:Selenium +phantomjs 利用 pyquery抓取消费主张信息
一.介绍 本例子用Selenium +phantomjs爬取央视栏目(http://search.cctv.com/search.php?qtext=消费主张&type=video)的信息(标 ...
- C++游戏系列:文件夹
C++游戏系列1:角色类 C++游戏系列2:给角色装备武器 C++游戏系列3:用多文件组织角色类 C++游戏系列4:杀伤距离有限制 C++游戏系列5:不止有一件武器 C++游戏系列6:自己动起来 C+ ...
- linux ping IP地址与telnet 测试IP端口
ping命令是不能够测试端口的,ping只是测试网络联接状况以及信息包发送和接收状况. 格式:ping IP地址或主机名 [-t] [-a] [-n count] [-l size] 参数含义:-t不 ...
- PHP登入网站抓取并且抓取数据
有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了.有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话.下面看看代 ...