<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 7  文章 - 3  trackbacks - 0
    <2011年12月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    /**
     * 數字轉換為大寫人民幣計數
     * @author 王代軍
     * @since Dec 16,2011
     */

    public class Num2Rmb
    {
        private String[] hanArr = {"零" , "壹" , "貳" , "叁" , "肆" ,
            "伍" , "陸" , "柒" , "捌" , "玖"};
        private String[] unitArr = {"拾","百","千","萬"};

        /**
         * 把一個四位的數字字符串變成漢字字符串
         * @param numStr 需要被轉換的四位的數字字符串
         * @return 四位的數字字符串被轉換成的漢字字符串。
         */
        private String toHanStr(String numStr)
        {
            String result = "";
            int numLen = numStr.length();
            //依次遍歷數字字符串的每一位數字
            for (int i = 0 ; i < numLen ; i++ )
            {
                //把char型數字轉換成的int型數字,因為它們的ASCII碼值恰好相差48
                //因此把char型數字減去48得到int型數字,例如'4'被轉換成4。
                int num = numStr.charAt(i) - 48;
                //如果不是最后一位數字,而且數字不是零,則需要添加單位(千、百、十)
                if ( i != numLen - 1 && num != 0)
                {
                    result += hanArr[num] + unitArr[numLen - 2 - i];
                }
                //否則不要添加單位
                else
                {
                    
                    //上一個數是否為“零”,不為“零”時就添加
                    if(result.length()>0 && hanArr[num].equals("零") && result.charAt(result.length()-1)=='零')
                        continue;
                    result += hanArr[num];
                }
            }
            //只有個位數,直接返回
            if(result.length()==1)
                return result;
            
            int index=result.length()-1;
            while(result.charAt(index)=='零'){
                index--;
            }
            if(index!=result.length()-1)
                return result.substring(0,index+1);
            else {
                return result;
            }
        }
        /**
         * 把一個輸入的數字字符串變成漢字字符串
         * @param numStr 需要被轉換得到數字字符串
         * @return 數字字符串被轉換成的漢字RMB字符串。
         */
        private String toRmbStr(String numStr){
            //獲取字符串長度
            int numLen = numStr.length();
            //判斷長度小于4(一萬以內~0-9999) 調用toHanStr();
            if(numLen<=4){
                return toHanStr(numStr);
            }
            //4<長度<=8 (一億以內 1000-99999999)
            else if(numLen>4&&numLen<=8){
                String[] subArr={numStr.substring(0, numLen-4),numStr.substring(numLen-4, numLen)};
                return toHanStr(subArr[0])+"萬"+toHanStr(subArr[1]);
            }
            //8<長度<=10 (百億以內 一億-9999999999)
            else if(numLen>8&&numLen<=10){
                String[] subArr={numStr.substring(0,numLen-8),numStr.substring(numLen-8,numLen-4),numStr.substring(numLen-4,numLen)};
                return toHanStr(subArr[0])+"億"+toHanStr(subArr[1])+"萬"+toHanStr(subArr[2]);
            }
            else return "輸入有誤!";    
        }          
        public static void main(String[] args)
        {        
            Num2Rmb nr = new Num2Rmb();
            System.out.println("只支持整數(0~99億)");
            //測試把一個四位的數字字符串變成漢字字符串
            System.out.println(nr.toRmbStr("1"));
            System.out.println(nr.toRmbStr("10"));
            System.out.println(nr.toRmbStr("15"));
            System.out.println(nr.toRmbStr("110"));
            System.out.println(nr.toRmbStr("123"));
            System.out.println(nr.toRmbStr("105"));
            System.out.println(nr.toRmbStr("1000"));
            System.out.println(nr.toRmbStr("1101"));
            System.out.println(nr.toRmbStr("1110"));
            System.out.println(nr.toRmbStr("1005"));
            System.out.println(nr.toRmbStr("101105"));
            System.out.println(nr.toRmbStr("1011109"));
            System.out.println(nr.toRmbStr("9999999999"));
        }
    }

    posted on 2011-12-26 13:26 Tomas 閱讀(564) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩一级片免费观看| 亚洲精品视频免费| 毛片网站免费在线观看| 久久精品国产亚洲av高清漫画 | 日韩免费高清视频| 亚洲色偷偷色噜噜狠狠99网| 成人免费无码大片a毛片软件 | 亚洲av永久无码精品天堂久久| 在线观看免费中文视频| 亚洲电影在线免费观看| 可以免费看黄的网站| 亚洲色偷偷色噜噜狠狠99网| 免费人成在线观看播放国产| 一级做a爰片久久毛片免费陪| 红杏亚洲影院一区二区三区| 国产免费网站看v片在线| 亚洲第一精品福利| 国产一卡二卡3卡四卡免费| 国产AV旡码专区亚洲AV苍井空 | 99在线观看精品免费99| 亚洲综合久久成人69| 天天摸夜夜摸成人免费视频| 久久亚洲精品无码av| 亚洲人午夜射精精品日韩| 美女在线视频观看影院免费天天看 | 99视频全部免费精品全部四虎| 亚洲人成www在线播放| 亚洲?v无码国产在丝袜线观看| a级毛片免费全部播放| 亚洲毛片无码专区亚洲乱| 国产美女无遮挡免费视频网站| 久久www免费人成精品香蕉| 亚洲黄色片免费看| 国产免费啪嗒啪嗒视频看看| 9i9精品国产免费久久| 亚洲AV无码专区在线亚| 亚洲中文字幕无码不卡电影| 91精品免费在线观看| 成人久久久观看免费毛片| 亚洲一卡二卡三卡| 亚洲人成在线播放网站|