简单人民币大写转换器(整数代码)
这里只写了整数的转换,小数的可自己添加,或者在下面评论中回复我,关于这段代码可能还需要多加测试,希望大家多多指点批评
public class Test4 { String[] a = new String[]{"元", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百"}; String[] b = new String[]{"零","一", "二", "三", "四", "五", "六", "七", "八", "九"}; public String gogo(int num) { String value = String.valueOf(num); String[] values = value.split(""); StringBuffer da = new StringBuffer(); int index = 0; for(int i = values.length-1; i>=0; i--,index++) { if(values[i].equals("")) { continue; } if(values[i].equals("0")) { /*亿位以下的数大于一万,则万位不可少*/ if(a[index].equals("万") && num % 100000000 >= 10000) { da.insert(0, "万"); continue; } /*遇到零时,前面有值且不为零不为万,零添加*/ if(da.length() >0) { char z = da.charAt(0); String zz = String.valueOf(z); if(!zz.equals("零") && !zz.equals("万") ) { da.insert(0, "零"); } } } else { da.insert(0, (b[Integer.valueOf(values[i])] + a[index])); } } return da.toString(); } public static void main(String[] args) { Test4 t = new Test4(); String result = t.gogo(100000000); System.out.println(result); result = t.gogo(103005040); System.out.println(result); result = t.gogo(100000001); System.out.println(result); result = t.gogo(101000001); System.out.println(result); result = t.gogo(100001100); System.out.println(result); result = t.gogo(120030040); System.out.println(result); } }
测试结果:
一亿
一亿零三百万五千零四十
一亿零一元
一亿零一百万零一元
一亿零一千一百
一亿二千零三万零四十
模板哥 - 网页模板,网站模板,DIV模板,CSS模板,前端模板,官网,官网模板,企业网站模板下载,模板下载