<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲精品91| www亚洲精品久久久乳| 国产一区二区三区免费观在线| 四虎永久免费观看| 爱情岛论坛免费视频| 亚洲色一色噜一噜噜噜| 国产高潮流白浆喷水免费A片 | 国产亚洲AV夜间福利香蕉149| 国产无限免费观看黄网站| 国产精一品亚洲二区在线播放| 美女被cao网站免费看在线看| 久久精品亚洲中文字幕无码网站 | 国产亚洲精品精华液| a在线视频免费观看| 亚洲精品网站在线观看你懂的| 2020因为爱你带字幕免费观看全集 | 亚洲午夜激情视频| 国产真人无码作爱免费视频 | 无码国模国产在线观看免费| 美女黄色免费网站| 亚洲日韩国产精品第一页一区| 久久精品中文字幕免费| 亚洲av极品无码专区在线观看| 午夜dj免费在线观看| 搜日本一区二区三区免费高清视频| 久久国产成人亚洲精品影院| 久久久久久AV无码免费网站下载| 亚洲免费人成视频观看| 国产zzjjzzjj视频全免费| 久久久久久国产a免费观看不卡| 亚洲一区精品中文字幕| 国产美女无遮挡免费视频网站| 久久久久久久久久免免费精品| 亚洲精品456在线播放| 国产免费人成在线视频| 全部免费毛片在线播放| 中文字幕精品三区无码亚洲| 在线亚洲人成电影网站色www| 精品无码免费专区毛片| 国产成人自产拍免费视频| 2019亚洲午夜无码天堂|