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

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

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

    走走看看

    適合不適合,也要看看的

    code

    ??1?package?test.format;
    ??2?import?java.text.NumberFormat;
    ??3?import?java.util.HashMap;
    ??4?public?class?SimpleMoneyFormat?{
    ??5???public?static?final?String?EMPTY?=?"";
    ??6???public?static?final?String?ZERO?=?"";
    ??7???public?static?final?String?ONE?=?"";
    ??8???public?static?final?String?TWO?=?"";
    ??9???public?static?final?String?THREE?=?"";
    ?10???public?static?final?String?FOUR?=?"";
    ?11???public?static?final?String?FIVE?=?"";
    ?12???public?static?final?String?SIX?=?"";
    ?13???public?static?final?String?SEVEN?=?"";
    ?14???public?static?final?String?EIGHT?=?"";
    ?15???public?static?final?String?NINE?=?"";
    ?16???public?static?final?String?TEN?=?"";
    ?17???public?static?final?String?HUNDRED?=?"";
    ?18???public?static?final?String?THOUSAND?=?"";
    ?19???public?static?final?String?TEN_THOUSAND?=?"";
    ?20???public?static?final?String?HUNDRED_MILLION?=?"";
    ?21???public?static?final?String?YUAN?=?"";
    ?22???public?static?final?String?JIAO?=?"";
    ?23???public?static?final?String?FEN?=?"";
    ?24???public?static?final?String?DOT?=?".";
    ?25?
    ?26???private?static?SimpleMoneyFormat?formatter?=?null;
    ?27???private?HashMap?chineseNumberMap?=?new?HashMap();
    ?28???private?HashMap?chineseMoneyPattern?=?new?HashMap();
    ?29???private?NumberFormat?numberFormat?=?NumberFormat.getInstance?();
    ?30?
    ?31???private?SimpleMoneyFormat()?{
    ?32?????numberFormat.setMaximumFractionDigits(4);
    ?33?????numberFormat.setMinimumFractionDigits(2);
    ?34?????numberFormat.setGroupingUsed(false);
    ?35?
    ?36?????chineseNumberMap.put("0",?ZERO);
    ?37?????chineseNumberMap.put("1",?ONE);
    ?38?????chineseNumberMap.put("2",?TWO);
    ?39?????chineseNumberMap.put("3",?THREE);
    ?40?????chineseNumberMap.put("4",?FOUR);
    ?41?????chineseNumberMap.put("5",?FIVE);
    ?42?????chineseNumberMap.put("6",?SIX);
    ?43?????chineseNumberMap.put("7",?SEVEN);
    ?44?????chineseNumberMap.put("8",?EIGHT);
    ?45?????chineseNumberMap.put("9",?NINE);
    ?46?????chineseNumberMap.put(DOT,?DOT);
    ?47?
    ?48?????chineseMoneyPattern.put("1",?TEN);
    ?49?????chineseMoneyPattern.put("2",?HUNDRED);
    ?50?????chineseMoneyPattern.put("3",?THOUSAND);
    ?51?????chineseMoneyPattern.put("4",?TEN_THOUSAND);
    ?52?????chineseMoneyPattern.put("5",?TEN);
    ?53?????chineseMoneyPattern.put("6",?HUNDRED);
    ?54?????chineseMoneyPattern.put("7",?THOUSAND);
    ?55?????chineseMoneyPattern.put("8",?HUNDRED_MILLION);
    ?56???}
    ?57?
    ?58???public?static?SimpleMoneyFormat?getInstance()?{
    ?59?????if?(formatter?==?null)
    ?60???????formatter?=?new?SimpleMoneyFormat();
    ?61?????return?formatter;
    ?62???}
    ?63?
    ?64???public?String?format(String?moneyStr)?{
    ?65?????checkPrecision(moneyStr);
    ?66?????String?result;
    ?67?????result?=?convertToChineseNumber(moneyStr);
    ?68?????result?=?addUnitsToChineseMoneyString(result);
    ?69?????return?result;
    ?70???}
    ?71?
    ?72???public?String?format(double?moneyDouble)?{
    ?73?????return?format(numberFormat.format(moneyDouble));
    ?74???}
    ?75?
    ?76???public?String?format(int?moneyInt)?{
    ?77?????return?format(numberFormat.format(moneyInt));
    ?78???}
    ?79?
    ?80???public?String?format(long?moneyLong)?{
    ?81?????return?format(numberFormat.format(moneyLong));
    ?82???}
    ?83?
    ?84???public?String?format(Number?moneyNum)?{
    ?85?????return?format(numberFormat.format(moneyNum));
    ?86???}
    ?87?
    ?88???private?String?convertToChineseNumber(String?moneyStr)?{
    ?89?????String?result;
    ?90?????StringBuffer?cMoneyStringBuffer?=?new?StringBuffer();
    ?91?????for?(int?i?=?0;?i?<?moneyStr.length();?i++)?{
    ?92???????cMoneyStringBuffer.append?(chineseNumberMap.get(moneyStr.substring(i,?i?+?1)));
    ?93?????}
    ?94?????//拾佰仟萬億等都是漢字里面才有的單位,加上它們
    ?95?????int?indexOfDot?=?cMoneyStringBuffer.indexOf(DOT);
    ?96?????int?moneyPatternCursor?=?1;
    ?97?????for?(int?i?=?indexOfDot?-?1;?i?>?0;?i--)?{
    ?98???????cMoneyStringBuffer.insert(i,?chineseMoneyPattern.get(EMPTY?+?moneyPatternCursor));
    ?99???????moneyPatternCursor?=?moneyPatternCursor?==?8???1?:?moneyPatternCursor?+?1;
    100?????}
    101?
    102?????String?fractionPart?=?cMoneyStringBuffer.substring(cMoneyStringBuffer.indexOf("."));
    103?????cMoneyStringBuffer.delete(cMoneyStringBuffer.indexOf("."),?cMoneyStringBuffer.length());
    104?????while?(?cMoneyStringBuffer.indexOf("零拾")?!=?-1)?{
    105???????cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf("零拾"),?cMoneyStringBuffer.indexOf("零拾")?+?2,?ZERO);
    106?????}
    107?????while?(cMoneyStringBuffer.indexOf?("零佰")?!=?-1)?{
    108???????cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf("零佰"),?cMoneyStringBuffer.indexOf("零佰")?+?2,?ZERO);
    109?????}
    110?????while?(cMoneyStringBuffer.indexOf("零仟")?!=?-1)?{
    111???????cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf("零仟"),?cMoneyStringBuffer.indexOf("零仟")?+?2,?ZERO);
    112?????}
    113?????while?(cMoneyStringBuffer.indexOf("零萬")?!=?-1)?{
    114???????cMoneyStringBuffer.replace?(cMoneyStringBuffer.indexOf("零萬"),?cMoneyStringBuffer.indexOf("零萬")?+?2,?TEN_THOUSAND);
    115?????}
    116?????while?(cMoneyStringBuffer.indexOf("零億")?!=?-1)?{
    117???????cMoneyStringBuffer.replace(?cMoneyStringBuffer.indexOf?("零億"),?cMoneyStringBuffer.indexOf("零億")?+?2,?HUNDRED_MILLION);
    118?????}
    119?????while?(cMoneyStringBuffer.indexOf("零零")?!=?-1)?{
    120???????cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf?("零零"),?cMoneyStringBuffer.indexOf("零零")?+?2,?ZERO);
    121?????}
    122?????if?(cMoneyStringBuffer.lastIndexOf(ZERO)?==?cMoneyStringBuffer.length()?-?1)
    123???????cMoneyStringBuffer.delete(cMoneyStringBuffer.length?()?-?1,?cMoneyStringBuffer.length());
    124?????cMoneyStringBuffer.append(fractionPart);
    125?
    126?????result?=?cMoneyStringBuffer.toString();
    127?????return?result;
    128???}
    129?
    130?
    131???private?String?addUnitsToChineseMoneyString(String?moneyStr)?{
    132?????String?result;
    133?????StringBuffer?cMoneyStringBuffer?=?new?StringBuffer(moneyStr);
    134?????int?indexOfDot?=?cMoneyStringBuffer.indexOf(DOT);
    135?????cMoneyStringBuffer.replace(indexOfDot,?indexOfDot?+?1,?YUAN);

    posted on 2006-07-23 23:28 Yixuan Huang 閱讀(161) 評論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     

    公告

    新站開了! 歡迎光臨!

    導(dǎo)航

    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章分類

    文章檔案

    Links

    搜索

    積分與排名

    最新評論

    主站蜘蛛池模板: 亚洲人成网站999久久久综合| 久草视频免费在线观看| 亚洲欧美成人综合久久久| 亚洲av无码一区二区乱子伦as| 免费人成视频在线观看视频| 波多野结衣在线免费观看| 最好免费观看高清在线| 少妇亚洲免费精品| 亚洲AV成人精品一区二区三区| 亚洲人成在线播放| 337p日本欧洲亚洲大胆精品555588 | 久99久无码精品视频免费播放| 国产成人综合久久精品亚洲| 亚洲一卡二卡三卡四卡无卡麻豆| 亚洲伦另类中文字幕| 亚洲精品无码精品mV在线观看| 免费一级毛片在线观看| 操美女视频免费网站| 免费精品国偷自产在线在线 | 亚洲?V乱码久久精品蜜桃| 日韩在线看片免费人成视频播放| 99国产精品永久免费视频| xxxx日本免费| 亚洲一级免费毛片| 无码日韩精品一区二区三区免费 | 黑人大战亚洲人精品一区| 亚洲国产av无码精品| 亚洲av日韩av欧v在线天堂| 国产成人一区二区三区免费视频 | 日韩a毛片免费观看| 免费VA在线观看无码| 一级看片免费视频| 国产精品成人啪精品视频免费| 一级做a爱过程免费视| 一级做a爰黑人又硬又粗免费看51社区国产精品视| 亚洲AV无码专区在线观看成人| 亚洲av无码无线在线观看| 怡红院亚洲红怡院在线观看| 边摸边脱吃奶边高潮视频免费 | 亚洲色欲色欲www在线丝| 色噜噜AV亚洲色一区二区|