欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

把数字转换成人民币大写的形式Java类,大写java,/** * @auth

来源: javaer 分享于  点击 42146 次 点评:211

把数字转换成人民币大写的形式Java类,大写java,/** * @auth


/**  * @author sunpander  * 把输入的数字转换成人民币大写的形式  */import java.io.BufferedReader;import java.io.InputStreamReader;public class ChangeNumToRMB {    String moneyStrs[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };    public static void main(String[] args) {        // TODO Auto-generated method stub        boolean isDebug = true;        while (isDebug) {            int num = 0;            String changedStr = "";            System.out.println("请输入需要转换的金额:");            BufferedReader br = new BufferedReader(new InputStreamReader(                    System.in));            boolean isWrongInput = true;            while (isWrongInput) {                try {                    String str = br.readLine();                    num = Integer.parseInt(str);                } catch (Exception e) {                    System.out.println("输入数字有误,必须是:0" + "到" + Integer.MAX_VALUE                            + " 的整数");                    // TODO Auto-generated catch block                    // e.printStackTrace();                    isWrongInput = true;                    continue;                }                isWrongInput = false;            }            ChangeNumToRMB chan = new ChangeNumToRMB();            changedStr = chan.getChangedString(num);        }    }    public String getChangedString(int num) {        // Money用于存放输入的金额数        int moneyNum = num;        String moneyStr = "";        System.out.println("输入的钱数是:");        if (moneyNum < 0) {            System.out.println("数字必须大于零");        } else if (moneyNum == 0) {            moneyStr = "零元";        }        // 只有四位数,即最大9999.小于10000        else if (moneyNum < 10000) {            moneyStr = this.getFourNumStr(moneyNum) + "元";        }        // 大于一万,小于一千万        else if (moneyNum <= 10000000)// &amp;&amp; moneyNum>10000)        {            int firstFourNum, lastFourNum;            firstFourNum = moneyNum / 10000;            lastFourNum = moneyNum % 10000;            String firstFourStr = this.getFourNumStr(firstFourNum);            String lastFourStr = this.getFourNumStr(lastFourNum);            if (!lastFourStr.contains("仟"))                lastFourStr = "零" + lastFourStr;            moneyStr = firstFourStr + "万" + lastFourStr + "元";        }        // 大于一千万.即上亿但小于最大整数        else if (moneyNum < Integer.MAX_VALUE)// &amp;&amp; moneyNum>10000000)        {            int firstFourNum, secondFourNum, lastFourNum;            firstFourNum = moneyNum / 100000000;            secondFourNum = (moneyNum / 10000) % 1000;            lastFourNum = moneyNum % 10000;            String firstFourStr = this.getFourNumStr(firstFourNum);            String secondFourStr = this.getFourNumStr(secondFourNum);            String lastFourStr = this.getFourNumStr(lastFourNum);            if (!lastFourStr.contains("仟"))                lastFourStr = "零" + lastFourStr;            if (!secondFourStr.contains("仟"))                secondFourStr = "零" + secondFourStr;            moneyStr = firstFourStr + "亿" + secondFourStr + "万" + lastFourStr                    + "元";        } else            System.out.println("someting    is wrong");        System.out.println(moneyStr);        return moneyStr;    }    public String getFourNumStr(int fourNum) {        int qian, bai, shi, ge;        ge = fourNum % 10;        shi = (fourNum % 100) / 10;        bai = (fourNum % 1000) / 100;        qian = fourNum / 1000;        String strTemp = "";        if (qian != 0) {            strTemp = strTemp.concat(moneyStrs[qian] + "仟");            strTemp = strTemp.concat(moneyStrs[bai] + "佰");            strTemp = strTemp.concat(moneyStrs[shi] + "什");            strTemp = strTemp.concat(moneyStrs[ge]);            strTemp = strTemp.replace("零佰", "零");            strTemp = strTemp.replace("零什", "零");            strTemp = strTemp.replace("零零", "零");            strTemp = strTemp.replace("零零", "零");            if (strTemp.endsWith("零"))                strTemp = strTemp.substring(0, strTemp.length() - 1);        } else if (bai != 0) {            strTemp = strTemp.concat(moneyStrs[bai] + "佰");            strTemp = strTemp.concat(moneyStrs[shi] + "什");            strTemp = strTemp.concat(moneyStrs[ge]);            strTemp = strTemp.replace("零什", "零");            strTemp = strTemp.replace("零零", "零");            if (strTemp.endsWith("零"))                strTemp = strTemp.substring(0, strTemp.length() - 1);        } else if (shi != 0) {            strTemp = strTemp.concat(moneyStrs[shi] + "什");            strTemp = strTemp.concat(moneyStrs[ge]);            if (strTemp.endsWith("零"))                strTemp = strTemp.substring(0, strTemp.length() - 1);        } else            strTemp.concat(moneyStrs[ge]);        return strTemp;    }}
相关栏目:

用户点评