当前位置: 首页 > 科技观察

数字转换中文

时间:2023-03-23 01:43:44 科技观察

importjava.util.Arrays;importjava.util.HashMap;importjava.util.Map;/***数到中文,***是千亿*/publicclassNumTotring{publicstaticvoidmain(String[]args){Stringa[]={"129830200000","12983020000","1298302000","129830200","23000042","2000042","100345","23864","1000","1234","123","23","5","20000000","10086","10010"};for(inti=0;inumberStringMap=newHashMap();//十进制读数privatestaticMapbase10StringMap=newHashMap();static{numberStringMap.put(0,"zero");numberStringMap.put(1,"一");numberStringMap.put(2,"二");numberStringMap.put(3,"三");numberStringMap.put(4,"四");numberStringMap.put(5,"吴");numberStringMap.put(6,"陆");numberStringMap.put(7,"卧");numberStringMap.put(8,"八");numberStringMap.put(9,"九");base10StringMap.put(1,"");base10StringMap.put(2,"十");base10StringMap.put(3,"百"));base10StringMap.put(4,"千");base10StringMap.put(5,"万");}privatestaticStringreadChinese(longa){StringintString=a+"";charicar[]=intString.toCharArray();charicarrevert[]=revertCharArray(ichar);inti=0;Stringresult="";while(i=0;i--){if(num[i]=='0'){//当前数为0,并且是最后一位,不要读if(i==0){continue;}//当前数为0,下一个数不为0,加一个0读取if(num[i-1]!='0'){sb.append(numberStringMap.get(Integer.valueOf(num[i]+"")));}else{continue;}}else{//如果当前数字不为0,则正常读取数字和数字sb.append(numberStringMap.get(整数.valueOf(num[i]+"")));sb.append(base10StringMap.get(i+1));}}if(time==0){}elseif(time==1){sb.append("一万");}elseif(time==2){sb.append("billion");}returnsb.toString();}}原数为:129830200000切换后读数为:一千二百九1,800,302,000原数为:12983020000转换后读数为:12983020,000原数为:1298302000转换后读数转换为:12亿9832000原数为:129830200转换后读数为:129813200原数为:23000042转换后读数是:2300万零四十二的原号是:2000042切换后的原号是:两百万零四十二原号是:100345切换后的原号是:十万三百四十五原数为:23864切换后最终读数为:2386104原数为:1000切换后读数为:一千位原数为:1234转换后读数为:一千二百三十四原数为:123转换后读数为:123原数为:23转换后读数为:二十三原数为:5,切换后读法为:Wu,原数为:20000000,切换后读法为:2000万,原数为:10086,切换后读法为:10000和八十路,原号:10010切换后阅读方式为:一千一十【本文为专栏作家张永波原创文章,转载请取得作者授权】