<b>Java将数字字符串转换成中文情势?</b>[Java编程]
本文“<b>Java将数字字符串转换成中文情势?</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
public class MainClass3 { /** * @param args * @deprecated 完成小数的中文转换 * @deprecated 核心工式:unit[(len - i - 1) % 8] * @deprecated * 1-0-1=0%8 亿 * 2-0-1=1%8 拾 * 3-0-1=2%8 佰 * 4-0-1=3%8 仟 * 5-0-1=4%8 万 * 6-0-1=5%8 拾 * 7-0-1=6%8 佰 * 8-0-1=7%8 仟 * 9-0-1=9%8 亿 */ public static void main(String[] args) { String temp0 = "987.65";// "009081"; String temp = temp0; if (temp0.startsWith("0")) { temp = String.valueOf(Integer.parseInt(temp0)); // System.out.println(Integer.parseInt(temp)); } // int itemp = Integer.valueOf(temp); // System.out.println("String --> Integer"+itemp); StringBuffer retStrBuf = new StringBuffer();// 用来拼接数字串 int dot = 0; // 小数点位置 int ivalue = 0;// 保存每一个位上的数 int len = 0;// 保存数字的长度 for (int i = 0; i < temp.length(); i++) { System.out.print(temp.substring(i, i + 1) + " "); } System.out.println(); String num[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; String unit[] = { "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟" }; len = temp.length(); if (temp == null || "".equals(temp) || temp.length() <= 0) { System.out.println("Input is null"); } else { //(==-1)阐明 dot = temp.indexOf("."); if(dot == -1){ int i = 0; // len-1这个注意,i在前面初始化为0 for (i = 0; i < len - 1; i++) { ivalue = Integer.parseInt(temp.substring(i, i + 1)); retStrBuf.append(num[ivalue] + (unit[(len - i - 1) % 8])); // System.out.print(num[ivalue]+(unit[(len - i - 1) % 8])); } // 单独取最后一位数 ivalue = Integer.parseInt(String.valueOf(temp.substring(i, i + 1))); // 最后一位为零,将不作处理 if (ivalue != 0) { retStrBuf.append(num[ivalue]); } retStrBuf.append("元整"); System.out.println(retStrBuf.toString()); // System.out.println(","+num[ivalue]); }else{ String tmpStr1 = temp.substring(0, dot); len = tmpStr1.length(); int i = 0; // len-1这个注意,i在前面初始化为0 for (i = 0; i < len - 1; i++) { ivalue = Integer.parseInt(temp.substring(i, i + 1)); retStrBuf.append(num[ivalue] + (unit[(len - i - 1) % 8])); // System.out.print(num[ivalue]+(unit[(len - i - 1) % 8])); } // 单独取最后一位数 ivalue = Integer.parseInt(String.valueOf(temp.substring(i, i + 1))); // 最后一位为零,将不作处理 if (ivalue != 0) { retStrBuf.append(num[ivalue]); } //跟整数处理不一样的部份 if (dot < temp.length() - 1) { retStrBuf.append("点"); //从小数点后一位开始取 String tmpStr2 = temp.substring(dot + 1); len = tmpStr2.length(); //这里不需求len-1 for (i = 0; i < len; i++) { ivalue = Integer.parseInt(tmpStr2.substring(i, i + 1)); retStrBuf.append(num[ivalue]); } } retStrBuf.append("元整"); System.out.println(retStrBuf.toString()); } } } } |
以上是“<b>Java将数字字符串转换成中文情势?</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |