我到是写了一个普通的java金额大小写转换的程序,swing不太会,程序也太长~

解决方案 »

  1.   

    我这有直接转成string的,你可以参考一下
    /**
         *  translante an int to 人民币大写形式
         * @param int  money , money want to translate
         * @return String[] the return array . 从"分" 到 "亿"
         */
        public static String[] moneyToRMB(long money) {
            String[] returnStr = {
                "", "", "", "", "", "", "", "", "", ""};
            int i, j, index;
            long mod, result;
            String[] RMB = {
                "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};        for (i = 0; i < 10; i++) {
                try {
                    byte[] byteTmp = RMB[i].getBytes("GB2312");
                    RMB[i] = new String(byteTmp, "8859_1");
                }
                catch (Exception e) {
                    System.out.println(" CommonUtil.java.moneyToRMB() error" +
                                       e.toString());
                    e.printStackTrace();
                }
            }        for (i = 0; i < 10; i++) {
                mod = 1;
                for (j = 0; j < (9 - i); j++)
                    mod = mod * 10;            result = money / mod;
                Long tmp = new Long(result);
                index = tmp.intValue();            if (result == 0) {
                    returnStr[9 - i] = RMB[0];
                }
                else {
                    try {
                        returnStr[9 - i] = RMB[index];
                        money = money - mod * result;
                    }
                    catch (Exception e) {
                        System.out.println(" CommonUtil.java.moneyToRMB() error" +
                                           e.toString());
                        e.printStackTrace();
                    }
                }
            }        return returnStr;
        }