美文网首页
iOS金额转大写

iOS金额转大写

作者: WuNai | 来源:发表于2017-09-24 17:09 被阅读6次
    -(NSString *)digitUppercaseWithMoney:(NSString *)money
    {
        NSMutableString *moneyStr=[[NSMutableString alloc] initWithString:[NSString stringWithFormat:@"%.2f",[money doubleValue]]];
        NSArray *MyScale=@[@"分", @"角", @"元", @"拾", @"佰", @"仟", @"万", @"拾", @"佰", @"仟", @"亿", @"拾", @"佰", @"仟", @"兆", @"拾", @"佰", @"仟" ];
        NSArray *MyBase=@[@"零", @"壹", @"贰", @"叁", @"肆", @"伍", @"陆", @"柒", @"捌", @"玖"];
    
        NSArray *integerArray = @[@"拾", @"佰", @"仟", @"万", @"拾万", @"佰万", @"仟万", @"亿", @"拾亿", @"佰亿", @"仟亿", @"兆", @"拾兆", @"佰兆", @"仟兆"];
    
    
        NSMutableString * M = [[NSMutableString alloc] init];
        [moneyStr deleteCharactersInRange:NSMakeRange([moneyStr rangeOfString:@"."].location, 1)];
        for(NSInteger i=moneyStr.length;i>0;i--)
        {
            NSInteger MyData=[[moneyStr substringWithRange:NSMakeRange(moneyStr.length-i, 1)] integerValue];
            [M appendString:MyBase[MyData]];
    
            //判断是否是整数金额
            if (i == moneyStr.length) {
                NSInteger l = [[moneyStr substringFromIndex:1] integerValue];
                if (MyData > 0 &&
                    l == 0 ) {
                    NSString *integerString = @"";
                    if (moneyStr.length > 3) {
                        integerString = integerArray[moneyStr.length-4];
                    }
                    [M appendString:[NSString stringWithFormat:@"%@%@",integerString,@"元整"]];
                    break;
                }
            }
    
            if([[moneyStr substringFromIndex:moneyStr.length-i+1] integerValue]==0
               && i != 1
               && i != 2)
            {
                [M appendString:@"元整"];
                break;
            }
            [M appendString:MyScale[i-1]];
        }
        return M;
    }
    
    
    

    相关文章

      网友评论

          本文标题:iOS金额转大写

          本文链接:https://www.haomeiwen.com/subject/cdakextx.html