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

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

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

    [收藏]JAVA中金額的中文大寫方式

    Posted on 2006-04-02 15:34 ikingqu 閱讀(709) 評(píng)論(1)  編輯  收藏 所屬分類: JavaSE&JavaEE

    題意:

    讀入一個(gè)浮點(diǎn)數(shù)值,將其轉(zhuǎn)化為中文金額的大寫方式.

    試驗(yàn)要求:

    當(dāng)金額為整數(shù)時(shí),只表示整數(shù)部分,省略小數(shù)部分,并添加"整"字.

    當(dāng)金額中含有連續(xù)的0時(shí),只需要一個(gè)"零"即可.

    10的表示方式.例如110--壹佰一拾元整,10---一拾元整

    ? 1 import java.io. * ;
    ? 2 class chineseMoney {
    ? 3 ??? private String number[] = { "" , " " , " " , " " , " " , " " , " " , " " , " " , " " } ;
    ? 4 ??? private String unit[] = { " " , " " , " " , " " , " 萬(wàn) " , " " , " " , " " , " " , " " , " " } ;
    ? 5 ??? private String small[] = { " " , " " } ;
    ? 6 ??? private String strNumber,strUnit,strAll;
    ? 7
    ? 8 ??? private String onlyInt( int intInt)
    ? 9 ??? {
    10 ??????? String strInt;
    11 ??????? strInt = String.valueOf(intInt);
    12 ??????? strNumber = "" ;strUnit = "" ;strAll = "" ;
    13 ??????? int l = strInt.length ();
    14 ??????? int j,k,zeorCount;
    15 ??????? zeorCount = 0 ;
    16 ??????? for (k = 0 ;k < l;k ++ )
    17 ??????? {
    18 ??????????? String strTemp = strInt.substring(k,k + 1 );
    19 ??????????? int intTemp = Integer.parseInt(strTemp);
    20 ??????????? strNumber = number[intTemp];
    21 ??????????? j = l - 1 - k;
    22 ??????????? strUnit = unit[j];
    23 ??????????? if (intTemp == 0 )
    24 ??????????? {
    25 ??????????????? if (zeorCount == 0 )
    26 ??????????????? {
    27 ??????????????????? strUnit = strUnit.replace( ' ' , ' ' );
    28 ??????????????????? strUnit = strUnit.replace( ' ' , ' ' );
    29 ??????????????????? strUnit = strUnit.replace( ' ' , ' ' );
    30 ??????????????????? strUnit = strUnit.replace( ' 萬(wàn) ' , ' ' );???
    31 ??????????????? }

    32 ??????????????? else
    33 ??????????????? {
    34 ??????????????????? strUnit = strUnit.replaceAll( " " , "" );
    35 ??????????????????? strUnit = strUnit.replaceAll( " " , "" );
    36 ??????????????????? strUnit = strUnit.replaceAll( " " , "" );
    37 ??????????????????? strUnit = strUnit.replaceAll( " 萬(wàn) " , "" );???????
    38 ??????????????? }

    39 ??????????????? zeorCount ++ ;
    40 ??????????? }
    ???????
    41 ??????????? strAll += strNumber + strUnit;
    42 ??????? }

    43 ??????? return strAll;
    44 ???
    45 ??? }

    46 ???
    47 ??? private String onlySmall( int intSmall)
    48 ??? {
    49 ???????
    50 ??????? strNumber = "" ;strUnit = "" ;strAll = "" ;
    51 ??????? String strSmall,strTemp;
    52 ??????? strSmall = String.valueOf(intSmall);
    53 ??????? int i;
    54 ??????? if (intSmall >= 10 )
    55 ??????? {
    56 ??????????? for (i = 0 ;i < strSmall.length();i ++ )
    57 ??????????? {
    58 ??????????????? strTemp = String.valueOf(intSmall).substring(i,i + 1 );
    59 ??????????????? if (Integer.parseInt(strTemp) != 0 )
    60 ??????????????? {
    61 ??????????????????? strNumber = number[Integer.parseInt(strTemp)];
    62 ??????????????????? strUnit = small[i];???
    63 ??????????????????? strAll += strNumber + strUnit;
    64 ??????????????? }

    65 ??????????? }

    66 ??????? }

    67 ??????? else
    68 ??????? {
    69 ??????????? if (intSmall != 0 )
    70 ??????????? {
    71 ??????????????? strNumber = number[intSmall];
    72 ??????????????? strUnit = small[ 1 ];???
    73 ??????????????? strAll += strNumber + strUnit;
    74 ??????????? }

    75 ??????? }

    76
    77 ??????? return strAll;
    78 ??? }

    79 ???
    80 ??? public String getChineseMoney( double number)
    81 ??? {
    82 ??????? // 四舍五入
    83 ??????? number = (number * 100 + 0.5 ) / 100 ;
    84 ???????
    85 ??????? String strAll,strChineseInt,strChineseSmall,strZheng;;
    86 ??????? int intInt,intSmall;
    87 ??????? strChineseInt = "" ;strChineseSmall = "" ;strZheng = "" ;
    88 ???????
    89 ??????? // 整數(shù)部分
    90 ??????? intInt = ( int )( number * 100 / 100 );
    91 ??????? if (intInt != 0 )
    92 ??????? {
    93 ??????????? strChineseInt = onlyInt(intInt);
    94 ??????? }

    95 ??????? // 小數(shù)部分
    96 ??????? double temp = (number - intInt) * 100 * 100 / 100 ;
    97 ??????? // 對(duì)小數(shù)部分四舍五入
    98 ??????? intSmall = ( int )(temp * 100 + 0.5 ) / 100 ;
    99 ??????? if (intSmall != 0 )
    100 ??????? {
    101 ??????????? strChineseSmall = onlySmall(intSmall);
    102 ??????? }

    103 ??????? else
    104 ??????? {
    105 ??????????? strZheng = " " ;
    106 ??????? }

    107 ??????? strAll = strChineseInt + strChineseSmall + strZheng;
    108 ??????? return strAll;
    109 ??? }

    110 ??? public static void main(String args[]) throws IOException
    111 ??? {
    112 ??????? chineseMoney cm = new chineseMoney();
    113 ??????? double money;
    114 ??????? String strMoney,strChineseMoney;
    115 ??????? strMoney = "" ;
    116 ??????? // 讀取
    117 ??????? System.out.println( " 輸入貨幣(四舍五入): " );
    118 ??????? BufferedReader cin = new BufferedReader( new InputStreamReader( System.in));
    119 ??????? strMoney = cin.readLine();
    120 ??????? money = Double.parseDouble(strMoney);
    121 ??????? strChineseMoney = cm.getChineseMoney(money);
    122 ??????? System.out.println(strChineseMoney);
    123 ??? }

    124 }



    ?

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=641419

    Feedback

    # re: [收藏]JAVA中金額的中文大寫方式  回復(fù)  更多評(píng)論   

    2011-02-18 09:58 by oplife@163.com
    這個(gè)有個(gè)地方不太對(duì),當(dāng)金額為800.00時(shí),輸出的是:
    捌佰零圓整

    多了個(gè)零

    posts - 4, comments - 5, trackbacks - 0, articles - 60

    Copyright © ikingqu

    主站蜘蛛池模板: 日韩精品免费一级视频| 成人免费视频一区| 中文字幕乱码免费视频| 中文字幕亚洲日韩无线码| 亚洲国产成人九九综合| 特级毛片免费观看视频| 国产高清在线精品免费软件| 2017亚洲男人天堂一| 久久www免费人成看国产片| 免费电视剧在线观看| 亚洲七久久之综合七久久| 免费一级毛片无毒不卡| 久久精品国产亚洲AV麻豆不卡| 免费无码黄网站在线看| 亚洲色欲或者高潮影院| 国产无遮挡色视频免费观看性色| 亚洲日韩在线观看| 亚洲AV一区二区三区四区| 2021在线永久免费视频| 亚洲人成人网站色www| 日韩精品免费在线视频| 国产色在线|亚洲| 高清在线亚洲精品国产二区| 最新亚洲春色Av无码专区| 日本免费人成在线网站| 中文日韩亚洲欧美制服| 又黄又爽的视频免费看| 亚洲AV无码国产一区二区三区| 免费v片在线观看无遮挡| 97在线视频免费公开视频| 亚洲欧洲日产国产最新| 国产在线观看www鲁啊鲁免费| 国产日韩在线视频免费播放| 久久国产亚洲高清观看| 大陆一级毛片免费视频观看| 亚洲人成网站色在线观看| 亚洲区小说区图片区| 四虎在线免费视频| 人人公开免费超级碰碰碰视频| 亚洲国产人成在线观看69网站| 在线中文高清资源免费观看|