Foundation框架 - NSNumber类
NSNumber类
NSFormatter
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"1******************* NSFormatter ***********************");
NSNumber* nb1=[NSNumber numberWithInt:25];
NSNumber* nb2=[[NSNumber alloc]initWithBool:YES];
NSNumber* nb3=[NSNumber numberWithChar:255];
NSNumber* nb4 =[NSNumber numberWithUnsignedInteger:-1];
NSNumber* nb5=[NSNumber numberWithDouble:12.5];
NSNumber* nb6=[NSNumber numberWithFloat:12.89];
NSNumber* nb7=[NSNumber numberWithInteger:12];
NSNumber* nb8=[NSNumber numberWithLong:123123];
int n=[nb1 intValue];
//打印观察现象
NSLog(@"%d",n);
NSLog(@"int nb1=%@",nb1);
NSLog(@"BOOL nb2=%@",nb2);
NSLog(@"char nb3=%@",nb3);
NSLog(@"nb4=%@",nb4);
NSLog(@"nb5=%@",nb5);
NSLog(@"nb6=%@",nb6);
NSLog(@"nb7=%@",nb7);
NSLog(@"nb8=%@",nb8);
if (nb4.unsignedIntegerValue==NSUIntegerMax) {
NSLog(@"-1和[%ld]相等",NSUIntegerMax);
}
NSLog(@"nb4=[%@]",nb4);
NSComparisonResult result =[nb1 compare:nb2];
NSLog(@"%ld",result);
if (result==NSOrderedDescending) {
NSLog(@"nb1>nb2");
}else if(result==NSOrderedAscending){
NSLog(@"nb1<nb2");
}else{
NSLog(@"nb1=nb2");
}
NSNumberFormatter
NSLog(@"1******************* NSNumberFormatter *****************");
NSNumber* nbInt=[NSNumber numberWithInt:345678];
NSNumberFormatter* fmt=[[NSNumberFormatter alloc]init];
fmt.numberStyle=NSNumberFormatterDecimalStyle;
fmt.numberStyle=NSNumberFormatterCurrencyStyle;
fmt.numberStyle=NSNumberFormatterNoStyle; //无格式
NSString* formatted=[fmt stringFromNumber:nbInt];
NSLog(@"[%@]格式化后:[%@]",nbInt,formatted);
//产生一个浮点数
NSNumber* nbDouble=[NSNumber numberWithDouble:23.45678f];
fmt.numberStyle=NSNumberFormatterDecimalStyle;
NSString* fmtedDbl=[fmt stringFromNumber:nbDouble];
NSLog(@"[%@]格式化后:[%@]",nbDouble,formatted);
//设置小数四舍五入
fmt.roundingMode=NSNumberFormatterRoundFloor; //后面所有舍掉
fmt.roundingMode=NSNumberFormatterRoundHalfUp; //四舍五入
fmt.roundingMode=NSNumberFormatterRoundUp; //直接进位(全入)
fmt.roundingMode=NSNumberFormatterRoundDown; //
NSLog(@"[%@]格式化后:[%@]",nbDouble,fmtedDbl);
//设置小数的位数(默认是小数点三位)
//货币格式
fmt.numberStyle=NSNumberFormatterCurrencyStyle;
//通过currencyCode 能够指定货币代码(人民币:CNY)
fmt.currencyCode=@"USD";
//通过currencySymbol 能够指定货币符号
fmt.currencySymbol=@"HKD";
formatted= [fmt stringFromNumber:nbInt];
NSLog(@"[%@]格式化货币样式后:[%@]",nbInt,formatted);
}
return 0;
}
练习:随机输入一串阿拉伯数字,将其转换成大写金额形式。
#import <Foundation/Foundation.h>
void lowerToUpper(NSString* number);
int main(int argc, const char * argv[])
{
@autoreleasepool
{
lowerToUpper(@"56");
}
return 0;
}
//实现转换函数
void lowerToUpper(NSString* number)
{
//定义一个大写数组
NSArray* upper=@[@"零",@"壹",@"贰",@"弎",@"肆",
@"伍",@"陆",@"柒",@"捌",@"玖"];
NSString* result=@"";
for (int i=0; i<[number length]; i++) {
//NSUInteger location;
//NSUInteger length;
NSRange range={i,1};//指定位置和长度
//-substringWithRange: 依照所给出的位置,长度,从字符串中截取子串
NSString* str=[number substringWithRange:range];
int value=[str intValue];
result=[result stringByAppendingString:upper[value]];
}
NSLog(@"转换后的结果为: %@",result);
}
Foundation框架 - NSNumber类的更多相关文章
- iOS Foundation 框架基类
iOS Foundation 框架基类 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转 ...
- Objective-C:Foundation框架-常用类-NSString全解
Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...
- Objective-C:Foundation框架-常用类-NSNumber
NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...
- Objective-C:Foundation框架-常用类-NSObject
NSObject是所有类的基类,其常见用法有: #import <Foundation/Foundation.h> @interface Person : NSObject - (void ...
- Foundation框架 - NSDictionary类、NSMutableDictionary类
NSArray.NSSet.NSDictionary /* 集合 1.NSArray\NSMutableArray * 有序 * 高速创建(不可变):@[obj1, obj2, obj3] * 高速訪 ...
- Foundation框架 - NSException类
NSException类 WBStudentManager.h #import <Foundation/Foundation.h> NSString* const NameInvalidE ...
- Foundation框架—日期类(NSDate)
一 时间类NSDate .创建一个日期对象 NSDate *date1 = [[NSDate alloc] init]; //创建了一个当前的时间点 NSDate *date2 = [ ...
- Objective-C:Foundation框架-常用类-NSDate
直接上代码吧: #import <Foundation/Foundation.h> #pragma mark 日期创建 void dateCreate() { // date方法返回的就是 ...
- Objective-C:Foundation框架-常用类-NSNull
集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Found ...
随机推荐
- hdu 1507(二分图匹配)
Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- java javac 的区别
cmd中,执行java命令与javac命令的区别: javac:是编译命令,将java源文件编译成.class字节码文件. 例如:javac hello.java 将生成hello.class文件 j ...
- 【转】Ubuntu 14.04.3上配置并成功编译Android 6.0 r1源码
http://www.linuxidc.com/Linux/2016-01/127292.htm 终于成功把Android 6.0 r1源码的源码编译.先上图,这是在Ubuntu中运行的Android ...
- React Native - 3 View, Text简介以及onPress & onLongPress事件
我们要生成如下的构图 直接上图,不解释. 如下图所示,定义函数,函数之间不需要逗号,在元素上添加事件,使用关键字this.{function name}
- IE webkit 滚动条样式!
<style type="text/css"> // IE 模式 *{ scrollbar-face-color:#F3F3F3; /*面子*/ scrollbar-a ...
- 前端读者 | 分分钟让你理解HTTPS
本文来自@Keely袁庆玲:来源:https://juejin.im/post/5ad6ad575188255c272273c4 目前来看大多数网站都从HTTP转向HTTPS,不在支持HTTP,所以了 ...
- 【转.解析清晰】你真明白 Python 装饰器么?
原文出处: 武沛齐 装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多小白来讲,这个功能 有点绕,自学时直接绕过去了, ...
- [thinkphp] ajaxReturn案例
javascript: <script> $('.ajax-post').click(function(){ var action_url=$('form').attr('action') ...
- 洛谷——P2958 [USACO09OCT]木瓜的丛林Papaya Jungle
P2958 [USACO09OCT]木瓜的丛林Papaya Jungle 题目描述 Bessie has wandered off the farm into the adjoining farmer ...
- 28、Django实战第28天:个人信息展示
从今天开始,我来完成个人中心部分,前端页面如下 1.浏览这些页面可以发现,它们和base.html是有区别的,因此,它们需要新建一个模板usercenter-base.html 2.把usercent ...