有关人民币金额小写转大写的代码。 public static String toBig( double value) ... { if(value==0) return "零圆"; String r="";char[] a=...{'拾','佰','仟'}; //段内位置表示char[] b=...{'万','亿'}; //段名表示char[] c=...{'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};//数字表示 long midVal = (long)(value*100); //转化成整形String valStr=String.valueOf(midVal); //转化成字符串String head=valStr.substring(0,valStr.length()-2);//取整数部分String rail=valStr.substring(valStr.length()-2);//取小数部分 String suffix=""; //小数部分转化的结果//处理小数点后面的数if(rail.equals("00"))...{ //如果小数部分为0suffix="整";}else...{suffix=c[rail.charAt(0)-'0']+"角"+c[rail.charAt(1)-'0']+"分"; //否则把角分转化出来}System.out.println("head:"+head);System.out.println("suffix:"+suffix);//处理小数点前面的数int zeronum=0;if(head.length()>0 )...{char[] ch=head.toCharArray();//字符串for(int i=0;i<ch.length;i++)...{int p=(ch.length-1-i)%4;int v=(ch.length-1-i)/4;if(ch[i]=='0')...{ //数字为0zeronum++; if(p==0 && v>0)...{ //如果到万位,而且个位为0;r+=b[v-1];zeronum =0;}}else...{if(zeronum > 0)...{//上1个数字为0,之后遇到非0的数字r+=c[0];zeronum=0;}r+=c[ch[i]-'0'];//数字不为0;if(p>0)r+=a[p-1];if(p==0 && v>0)...{//万位r+=b[v-1]; }}// System.out.println(r);}r+="圆";} return r+suffix;}