• Foundation框架


    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);
    }
  • 相关阅读:
    一个强大的LogParser的UI工具logparserlizard简介
    Spring.NET 1.3.2 集成 NHibernate 3.2 3 监控及日志
    Spring.NET 1.3.2 集成 NHibernate 3.2 5 事务管理
    id 的选择器为什么要这么写 li#first?
    学习《Microsoft SQL Server 2008 技术内幕:TSQL 语言基础 》之一:学习资料、数据库、数据库脚本准备
    mybatisnet 1 获取 mybatisnet
    MusicStore 项目的完整配套视频!
    Spring.NET 1.3.2 集成 NHibernate 3.2 1 下载软件
    Spring.NET 1.3.2 集成 NHibernate 3.2 4 实现基本的数据访问
    Spring.NET 1.3.2 集成 NHibernate 3.2 2 配置使用 Spring.NET 的网站
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7279094.html
Copyright © 2020-2023  润新知