java 实现金额大小写转换
2013-08-10 18:22
295 查看
把数字字符串转换为中文大写的字符串
Java代码privatestaticString integerTransGBK(String input) { String regix = "[0-9]+"; int[] num = newint[input.length()]; String[] str1 = { "零","壹","贰","叁","肆","伍","陆","柒","玐","玖"}; TreeMap<Integer, String> map1 = newTreeMap<Integer, String>(); StringBuilder sb = newStringBuilder(); intlen = num.length; //数字的长度 booleanhasZero = false; //是否有0 //是否从第1位,第5为,第9位……开始。用来去除个位上的“零” booleanzeroFromGeWei = true; //判断是否是合法数字 if(!input.matches(regix)){ thrownewRuntimeException("对不起,你输入的不是数字!"); } // 将String数字变成int数组 for(inti = 0; i < num.length; i++) { num[i] = Integer.parseInt(String.valueOf(input.charAt(i))); } // 将str1的元素与数字一一对应 for(inti = 0; i < str1.length; i++) { map1.put(i, str1[i]); } //开始转换字符串 for(inti = len - 1; i>= 0; i--){ intposition = len - i -1; if( position % 4==0) zeroFromGeWei = true; // 如果不是个位,每四位加个万或亿字,交替添加 if(i != (len - 1) && ( position % 4==0)){ if(hasZero ) { sb.insert(0,"零"); //在万亿之前的0数字,要处理完 hasZero = false; } if((position % 8==0)){ sb.insert(0,"亿"); }else{ sb.insert(0,"万"); } } //判断数字字符是不是0字符 if(num[i] != 0){ if(hasZero && !zeroFromGeWei ) { sb.insert(0,"零"); } hasZero = false; zeroFromGeWei = false; sb.insert(0,map1.get(num[i])); switch(position % 4) { case1: sb.insert(1,"拾"); break; case2: sb.insert(1,"百"); break; case3: sb.insert(1,"千"); break; default: break; } }else{ hasZero = true; } } //去除零万的情况 intindex = sb.indexOf("零万"); while(index != -1){ sb.delete(index, index+2); index = sb.indexOf("零万"); } //去除零亿的情况 index = sb.indexOf("零亿"); while(index != -1){ sb.delete(index, index+1); index = sb.indexOf("零亿"); } //去除最后一个字符为0的情况,在低8位为0的情况下,会在亿字后多个零字 index = sb.indexOf("零",sb.length()-1); if(index != -1){ sb.delete(index, index +1); } returnsb.toString(); }
描述:把数字字符串转换为中文大写的字符串 125022102012032 壹百贰拾伍万零贰百贰拾壹亿零贰百零壹万贰千零叁拾贰
相关文章推荐
- JAVA实现数字大写金额转换的方法
- java实现小写金额转换大写金额
- 人民币大小写转换 java 实现
- Java金额大小写的转换方法
- java金额大小写转换 数字大小写转换
- Java中实现数字金额到中文大写字符的转换!! 选择自 netfalcon 的 Blog
- java---金额中文大小写实时转换小程序
- 字母(串)大小写转换——Java多方式实现
- java---金额中文大小写实时转换小程序
- 我的Java开发学习之旅------>Java金额大小写的转换
- Java 实现金额转换 代码示例
- Java中实现数字金额到中文大写字符的转换!!
- java---金额中文大小写实时转换小程序
- Java 实现金额转换 代码示例
- java实现金额数字转换为中文大写
- java实现数字金额转换成汉字大写金额
- java 数字金额转中文(只实现整数部分转换)
- java android 金额大小写数据的转换
- java实现人民币大小写转换方法分享
- java实现小写金额转换大写金额