zoukankan      html  css  js  c++  java
  • 金额数字转中文大写(银行所需)

    - (NSString *)moneyStringWithDigitStr:(NSString *)digitString

    {

        NSLog(@"The begin string:%@",digitString);

        NSArray *datas = [NSArrayarrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil];

        NSArray *infos = [NSArrayarrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"亿", @"", @"", @"", @"", nil];

        

        NSMutableString *processString = [[NSMutableString alloc] initWithString:digitString];

        

        // creat a new mutable string

        NSMutableString *resultString = [NSMutableStringstring];

        int i = 0;

        int j = processString.length;

        

        // str:165047523

        // 1亿 6 5 0 4 7 5 2 3 ——> 壹亿 陆仟 伍佰 零拾 肆万 柒仟 伍佰 贰拾 叁分

        

        while (processString.length != 0) {

            

            // Add location tags after each number

            [resultString insertString:[infos objectAtIndex:i] atIndex:0];

            i++;

            

            // Obtain a character (a number), then the number corresponding uppercase characters restructuring to the ‘resultString’

            j--;

            NSString *specifiedNumberStrAtIndex = [processString substringWithRange:NSMakeRange(j, 1)];

            int specifiedNumber = [specifiedNumberStrAtIndex intValue];

            

            int number = specifiedNumber % 10;

            

            [resultString insertString:[datas objectAtIndex:number] atIndex:0];

            

            // Delete of a character, so that the next time through the loop with

            [processString deleteCharactersInRange:NSMakeRange(j, 1)];

            

            NSLog(@"resultString = %@",resultString);

        }

        

        NSString *moneyString = [NSString stringWithFormat:@"%@",resultString];

        

        // To use regular expressions to replace specific characters

        NSError *error=nil;

        NSArray *expressions = [NSArrayarrayWithObjects:@"[拾佰仟]", @"+亿", @"+", @"+", @"+",@"亿万",nil];

        NSArray *changes = [NSArray arrayWithObjects:@"", @"亿",@"",@"",@"",@"亿",nil];

        

        for (int k = 0; k < 6; k++)

        {

            NSRegularExpression *reg=[[NSRegularExpressionalloc] initWithPattern:[expressions objectAtIndex:k] options:NSRegularExpressionCaseInsensitiveerror:&error];

            

            moneyString = [reg stringByReplacingMatchesInString:moneyString options:0range:NSMakeRange(0, moneyString.length) withTemplate:[changes objectAtIndex:k]];

            

            NSLog(@"moneyString = %@",moneyString);

        }

        return moneyString;

    }

     

     

    祝您愉快开心 ^_^

  • 相关阅读:
    for xml path(''),root('')
    [小明带你玩儿Photon]4.一起来看日志
    [小明带你玩儿Photon]3.Hello World i
    [小明带你玩儿Photon]2.从零开始一个程序
    [小明带你玩儿Photon]1.Photon介绍
    杂记
    FluentNHibernate初探[1]
    [Navigation]Navigation初探[2]
    [Navigation]Navigation初探[1]
    动画系统的animator
  • 原文地址:https://www.cnblogs.com/tianglin/p/3079852.html
Copyright © 2011-2022 走看看