学习ios【2】Objective-C 数字和字符串
一 数字
- numberWith…:用初始值创建NSNumber对象,例如:numberWithInt:100;
- integerValue:获取NSNumber对象的值,其它如charValue,floatValue等;
- isEqualToNumber:比较两个NSNumber对象的数值是否相等,返回一个BOOL值。
- compare:比较两个NSNumber对象数值的大小。返回结果有NSOrderedAscending,NSOrderedSame和NSOrderedDescending。
- 最近objective-c语言扩展允许通过@表达式创建数字对象。如果@之后的值是一个表达式或者变量需要使用括号。
- #import <Foundation/Foundation.h>
- int main(int argc,const char * argv[])
- {
- @autoreleasepool {
- NSNumber *myNumber,*floatNumber,*intNumber;
- intNumber=[NSNumber numberWithInt:];
- NSLog(@"%li",[intNumber integerValue]);//
- floatNumber=[NSNumber numberWithFloat:100.00];
- NSLog(@"%f",[floatNumber floatValue]);//100.000000
- myNumber=[NSNumber numberWithChar:'A'];
- NSLog(@"%c",[myNumber charValue]);//A
- //判断两个数字是否相等
- if([intNumber isEqualToNumber:floatNumber]==YES)
- {
- NSLog(@"int number is equal to float number");//√
- }
- else{
- NSLog(@"int number is not equal to float number");
- }
- //比较两个数字大小
- if([intNumber compare:myNumber]==NSOrderedAscending)
- {
- NSLog(@"int number is less than mynumber");
- }
- else{
- NSLog(@"int number is more than mynumber");//√
- }
- //@语法
- intNumber=@;
- NSLog(@"%li",[intNumber integerValue]);//
- }
- return ;
- }
二 字符串
- #import <Foundation/Foundation.h>
- @interface Complex : NSObject
- @property int real,imaginary;
- -(void)setReal:(int)r andImaginary:(int)m;
- @end
- #import "Complex.h"
- @implementation Complex
- @synthesize real,imaginary;
- -(void)setReal:(int)r andImaginary:(int)m
- {
- self.real=r;
- self.imaginary=m;
- }
- //重写description,自定义输出格式
- -(NSString *)description
- {
- return [NSString stringWithFormat:@"%i + %ii",self.real,self.imaginary];
- }
- @end
- #import <Foundation/Foundation.h>
- #import "Complex15.h"
- int main(int argc,const char * argv[])
- {
- @autoreleasepool {
- Complex15 *c=[[Complex15 alloc] init];
- [c setReal: andImaginary:];
- NSLog(@"%@",c);//由<Complex15: 0x10010ffa0> 变为 1 + 2i
- }
- return ;
- }
- length:获取字符串长度;
- NSString stringWithString:复制字符串内容;
- stringByAppendingString:连接两个字符串;
- isEqualToString:比较两个字符串是否相等;
- compare:字符串比较,常用于排序。比较结果为NSOrderedAssending,NSOrderedSame或NSOrderedDescending。
- uppercaseString:字符串转换为大写;
- lowercaseString:字符串转换为小写。
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- NSString *str1=@"This is String A";
- NSString *str2=@"This is String B";
- NSString *result;
- NSComparisonResult compareResult;
- // 字符串长度
- NSLog(@"length of str1 is %lu",[str1 length]);//length of str1 is 16
- //复制字符串
- result=[NSString stringWithString:str1];
- NSLog(@"Copy str1,result is: %@",result);//Copy str1,result is: This is String A
- //追加字符串
- str2=[str1 stringByAppendingString:str2];
- NSLog(@"str1 append str2 is:%@",str2);//str1 append str2 is:This is String AThis is String B
- //字符串是否相等
- if([str1 isEqualToString:result]){
- NSLog(@"str1==result");//√
- }
- else{
- NSLog(@"str!=str2");
- }
- //比较字符串
- compareResult=[str1 compare:str2];
- if(compareResult==NSOrderedAscending){
- NSLog(@"str1<str2");//√
- }else if(compareResult==NSOrderedSame){
- NSLog(@"str1=str2");
- }else{
- NSLog(@"str1>str2");
- }
- //大小写转换
- result=[str1 uppercaseString];
- NSLog(@"upper case:%@",result);//upper case:THIS IS STRING A
- result=[str1 lowercaseString];
- NSLog(@"lower case:%@",result);//lower case:this is string a
- }
- return ;
- }
- substringToIndex:返回一个子串,截取从开头到指定索引数的字符,但是不包括这个字符。
- substringFromIndex:返回一个子串,截取从指定位置到字符串结尾的字符。
- substringWithRange:返回指定范围的字符,参数是NSRange类型。
- rangeOfString:在字符串中查找子串,返回结果是NSRange类型,它是一个结构变量,不是对象变量。返回结果range.location表示子串起始位置,range.length表示子串长度。如果找不到指定子串,则location为NSNotFound。
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- NSString *str1=@"This is String A";
- NSString *result;
- NSRange range;
- //从开头取前N个字符
- result=[str1 substringToIndex:];
- NSLog(@"前4个字符:%@",result);//前4个字符:This
- //取第N个字符到结尾
- result=[str1 substringFromIndex:];
- NSLog(@"后8个字符:%@",result);//后8个字符:String A
- //提取第8到13个字符
- result=[[str1 substringFromIndex:] substringToIndex:];
- NSLog(@"第8到13个字符:%@",result);//第8到13个字符:String
- //另一种实现方式
- result=[str1 substringWithRange:NSMakeRange(,)];
- NSLog(@"第8到13个字符:%@",result);//第8到13个字符:String
- //查找子串
- range=[str1 rangeOfString:@"String"];
- NSLog(@"String子串位置%lu,长度是%lu",range.location,range.length);//String子串位置8,长度是6
- //查找不存在的子串
- range=[str1 rangeOfString:@"StringA"];
- if(range.location==NSNotFound){
- NSLog(@"未找到子串StringA");//√
- }else{
- NSLog(@"子串StringA位置为%lu",range.location);
- }
- }
- }
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- NSString *str=@"This is String A";
- NSMutableString *mstr;
- NSRange substr;
- mstr=[NSMutableString stringWithString:str];
- NSLog(@"%@",mstr);//This is String A
- //插入字符
- [mstr insertString:@" mutable" atIndex:];
- NSLog(@"%@",mstr);//This is mutable String A
- //追加字符
- [mstr appendString:@" and String B"];
- NSLog(@"%@",mstr);//This is mutable String A and String B
- //删除子串
- [mstr deleteCharactersInRange:NSMakeRange(, )];
- NSLog(@"%@",mstr);//This is mutable and String B
- //查找子串并删除
- substr=[mstr rangeOfString:@"and String B"];
- if(substr.location!=NSNotFound){
- [mstr deleteCharactersInRange:substr];
- NSLog(@"%@",mstr);//This is mutable
- }
- //直接设置可变字符串内容
- [mstr setString:@"This is String."];
- NSLog(@"%@",mstr);//This is String.
- //替换子串
- [mstr replaceCharactersInRange:NSMakeRange(, ) withString:@" mutable "];
- NSLog(@"%@",mstr);//This is mutable String.
学习ios【2】Objective-C 数字和字符串的更多相关文章
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- IOS学习笔记2—Objective C—类、属性、方法
以下是我学习IOS开发的一些笔记和心得,贴出来和大家一同分享,也希望大家能补充和纠错,共同进步 有Android和IOS开发问题也希望能和大家交流! Objective-C 1.OC是一门基于C的面向 ...
- Python 工匠:使用数字与字符串的技巧学习笔记
#Python 工匠:使用数字与字符串的技巧学习笔记#https://github.com/piglei/one-python-craftsman/blob/master/zh_CN/3-tips-o ...
- JavaScript学习笔记3之 数组 & arguments(参数对象)& 数字和字符串转换 & innerText/innerHTML & 鼠标事件
一.Array数组 1.数组初始化(Array属于对象类型) /*关于数组的初始化*/ //1.创建 Array 对象--方法1: var arr1=[]; arr1[0]='aa';//给数组元素赋 ...
- python学习第二天:数字与字符串转换及逻辑值
1.数字与字符串的转化 #1.数字转字符,使用格式化字符串: *1.demo = ‘%d’ % source *2.%d整型:%f 浮点型 :%e科学计数 ...
- Python学习笔记(五)--Python数据类型-数字及字符串
Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...
- 数字int字符串str(深入学习)
数字int字符串str 查看一个对象的类 如:如查看对象变量a是什么类 用到函数type(),函数值是要查看的对象变量 1 #!/usr/bin/env python 2 # -*- ...
- python学习之路-基本数据类型1 变量的概念、数字、字符串
1 什么是数据类型? 每种编程语言都有自己的数据类型,用于标识计算机可以认识的数据,Python中主要的数据类型为字符串,整数,浮点数,列表,元祖,字典,集合七种主要的数据类型,其中以列表,字典为最主 ...
- 学习iOS
最近想学习一下iOS开发,不过一点基础都没有,得先从熟悉object-C语法开始,在此把学习中的一些知识点作为记录. mac pro常用操作 学习ios[1]Objective-C 基本语法 学习io ...
- 学习ios(必看经典)牛人40天精通iOS开发的学习方法
学习ios(必看经典)牛人40天精通iOS开发的学习方法 描述 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统.专业的课程体系.以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲 ...
随机推荐
- PXC(percona xtradb cluster)新加节点避免SST的方法
环境: node1:192.168.0.100 pxc节点 node2:192.168.0.101 新节点 把新加入的节点先建立为node1的从库,可以使用mysqldump或innobackup ...
- SpringNet学习笔记一
---恢复内容开始--- 最近看了园子里的大神分享的springnet框架的知识,感觉挺不错的,自己闲下来也研究研究springnet.这几天看了springnet容器的基础篇IOC和AOP,也有点个 ...
- mysql 链接失败(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES))
mysql链接失败(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)) 修改: # ...
- 死性不改ISO9000系列系统 2011q4~2016q1
百度云链接: http://pan.baidu.com/s/1o8rO3W2 密码: kabg 2016q2由于发布没多久,可能会重新修改,暂时不转载.
- 阅读笔记 火球UML大战需求分析3
在复习回顾的以前所学的UML 统一建模语言之后,要将他们融会贯通起来,必定要进行一次事件,这样才能更好地运用各种UML,所以,了解了所有的UML图之后,就要开始接收一个练习的项目了. 这里作者给的例子 ...
- RabbitMQ 基础概念
Broker:消息协商器.消息队列的实体,它在TCP/IP等端口上监听AMQ消息 vHost:虚拟主机.功能上类似于web的虚拟主机,都是把数据按照功能或项目的不同划分为不同的虚拟主机:用户只被授予访 ...
- WinForm开发框架【细化权限至操作按钮】
有不少园友经常问我程序有没有更新,真的很抱歉,最近因为工作原因一直很忙,导致程序有很长时间都没有更新了,首先在这里感谢关心俺的朋友们. 这几天好好看了一下原来的程序,还有很多地方需要改进,比如操作数据 ...
- Highcharts动态添加点数据
Highcharts用来作为图表数据的展示十分方便,效果也比较好.highcharts不仅可以实现死数据的展示,也能实现动态数据的实时添加显示,类似财经股票的实时刷新效果,实现过程并不难,大致如下. ...
- 《BI那点儿事—数据的艺术》目录索引
原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...
- EasyUI-datagrid 对于展示数据进行处理(formatter)
一:声明datagrid列,在列中添加formatter属性,并指定js方法 columns = [[ { title: '编号', field: 'Id', width: 100, sortable ...