黑马程序员技术交流社区

标题: 金额转换 例如: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