天天看點

iOS金額轉大寫

-(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;

}