黑马程序员技术交流社区
标题: 金额转换 例如:101000001010 转换为 壹仟零壹拾亿零壹仟零... [打印本页]
作者: code2014 时间: 2014-5-9 07:58
标题: 金额转换 例如:101000001010 转换为 壹仟零壹拾亿零壹仟零...
public class testt10 {
private static final char[] data = { '零', '壹', '贰', '叄', '肆', '伍', '陆', '柒', '捌', '玖' };
private static final char[] units = { '圆', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟' };
@SuppressWarnings("resource")
public static void main(String[] args) {
while (true) {
Scanner sc = new Scanner(System.in);
long l = sc.nextLong();
System.out.println(convert(l)); } }
public static String convert(long money) {
StringBuffer sbf = new StringBuffer();
int uint = 0;
while (money != 0) {
sbf.insert(0, units[uint++]);
sbf.insert(0, data[(int) (money % 10)]);
money = money / 10; }
// 去零
return sbf.toString().replaceAll("零[仟佰拾]", "零").replaceAll("零+万", "万")
.replaceAll("零+亿", "亿").replaceAll("亿万", "亿零")
.replaceAll("零+", "零").replaceAll("零圆", "圆"); } }
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |