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类的更多相关文章

  1. iOS Foundation 框架基类

    iOS Foundation 框架基类 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转 ...

  2. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

  3. Objective-C:Foundation框架-常用类-NSNumber

    NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...

  4. Objective-C:Foundation框架-常用类-NSObject

    NSObject是所有类的基类,其常见用法有: #import <Foundation/Foundation.h> @interface Person : NSObject - (void ...

  5. Foundation框架 - NSDictionary类、NSMutableDictionary类

    NSArray.NSSet.NSDictionary /* 集合 1.NSArray\NSMutableArray * 有序 * 高速创建(不可变):@[obj1, obj2, obj3] * 高速訪 ...

  6. Foundation框架 - NSException类

    NSException类 WBStudentManager.h #import <Foundation/Foundation.h> NSString* const NameInvalidE ...

  7. Foundation框架—日期类(NSDate)

    一 时间类NSDate .创建一个日期对象     NSDate *date1 = [[NSDate alloc] init]; //创建了一个当前的时间点     NSDate *date2 = [ ...

  8. Objective-C:Foundation框架-常用类-NSDate

    直接上代码吧: #import <Foundation/Foundation.h> #pragma mark 日期创建 void dateCreate() { // date方法返回的就是 ...

  9. Objective-C:Foundation框架-常用类-NSNull

    集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Found ...

随机推荐

  1. udp端口测试连接

    udp端口测试连接 http://www.361way.com/nc-udp-port/2949.html

  2. PL/SQL 07 触发器 trigger

    --触发器 触发器有三类: 数据操作触发器    用before触发器进行数据校验    用after触发器进行级联操作    语句触发器限制数据的操作和记录操作日志    instead of 触发 ...

  3. 【反演复习计划】【COGS2432】爱蜜莉雅的施法

    也是一个反演. 第一次手动推出一个简单的式子,激动.jpg 原题意思是求:$Ans=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\phi(gcd(i,j))$随 ...

  4. JQ面向对象

    静态方法:某种类型才有的方法,这个方法干的事情只有类型本身有关,不受具体实例对象的影响,在C#语言中,它用static表示,VB中用share表示,而在jq中我们一般用$或者JQuery表示JQ类型, ...

  5. 【python】正则表达式相关

    注意:Python3.X 的print要有括号, Python 2.x的不需要 放上学习时写的例子: import re m = re.match(r'(\w+) (\w+)(?P<sign&g ...

  6. python进程理论部分

    一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): sxx在一个时间段内有很多任务要做:python备课的任务,写书的任务 ...

  7. node.js的全局变量的注意

    在node.js中,如果一个变量没有用var来声明,就会变为全局变量: 看如下代码: 1)6.js function myadd(a) { return a+abc; } function conta ...

  8. python算法:约瑟夫问题

    据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特後,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41 ...

  9. Spring ClassPathXmlApplicationContext和FileSystemXmlApplicationContext

    先说:ClassPathXmlApplicationContext 这个类,默认获取的是WEB-INF/classes/下的路径,也就是在myeclipse的src下的路径,所以用这个是获取不到WEB ...

  10. ionic3 cordova ionic-native插件

    ionic-native插件 cordova安装插件 以及 ionic-native插件使用过程以及步骤 cordova plugin add cordova-plugin-插件名称. //安装插件 ...