package cn.edu.wtu.test; public class Test { public static void main(String[] args) { String model = "零壹贰叁肆伍陆柒捌玖";//大写转小写映射字符串 char[] m = {'万','仟','佰','拾','亿','仟','佰','拾','万','仟','佰','拾',' '}; // 最大到万亿位,不考虑小数点 存储转换结果 String str = "叁仟万零陆佰零壹元"; //待转换字符串 char[] s = str.toCharArray(); for (int i = m.length-1, j = s.length - 2; j>=0; --j ) { int index = model.indexOf(s[j]); if(index !=-1){ m[i--] = s[j] = (char) (index + 48); }else { while(s[j] != m[i]){ m[i--] = '0'; } } } //得到最高位,方便输出 int index = 0 ; for(int i = 0 ; i < m.length; ++i){ if( m[i] >= '0' && m[i] <= '9'){ index = i ; break; } } //输出结果 for (int i = index; i < m.length; ++i) { System.out.print(m[i]); } System.out.println('元'); } }
大写金额转换小写数字金额(美图2017线下笔试题)
最新推荐文章于 2019-03-03 16:25:00 发布