OC金额转大写
2016-04-22 18:53
106 查看
-(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; }
相关文章推荐
- 作业调度
- [CSS3] CSS Media Queries
- 基础知识归类
- Valgrind对于大型程序似乎作用不好
- Sqlite数据库的小结
- linux标准库的问题
- linux程序设计学习笔记(7-15)
- 我以前也是个软妹纸啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊~
- 程序猿二三事之工具使用-Eclipse调试Java常用功能介绍
- (WIP) DPDK理论学习(by quqi99)
- Java程序方法设计
- 使用sqlcipher对sqllite数据库加密,方式二(添加静态库)
- 《TCP/IP详解》学习笔记四(TCP)
- Redis配置文件详解
- POJ 3070 Fibonacci(矩阵快速幂)
- 剑指offer(二十二)之和为S的连续正数序列
- spring 注解:
- C# WinForm 键盘快捷键的使用
- Windows内核进程管理器解析
- POJ 3070 Fibonacci(矩阵快速幂)