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

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

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

    天空是藍色的

    做好軟件為中國 #gcc -c helloworld.c -o helloworld.o //編譯目標(biāo)文件 #gcc helloworld.o -o helloworld //編譯成可執(zhí)行exe #helloworld //運行exe
    數(shù)據(jù)加載中……
    Java中實現(xiàn)數(shù)字金額到中文大寫字符的轉(zhuǎn)換
    /**
      * <p>Title: money</p>
      * <p>Description: 
      *   *類名:money
      *   *函數(shù):String PositiveIntegerToHanStr(String NumStr)   負責(zé)把小數(shù)點前面的數(shù)轉(zhuǎn)換為大寫中文
      *    *函數(shù):?String NumToRMBStr(double val)   負責(zé)把輸入的double型的數(shù)轉(zhuǎn)換為大寫中文
      *   *注意java程序轉(zhuǎn)換的范圍是:小數(shù)點前面15位(已測試通過  
      *   * <p>Company: </p>
      * 鐘偉海
      * 
    @version 1.0
      
    */  
    import java.lang.Math;

    public class money{
     
    //調(diào)試時用main函數(shù)
     public static void main(String args[]){
      money mon 
    = new money();
      System.out.println(
    -99999999999999.999+mon.NumToRMBStr(-99999999999999.999));
      System.out.println(
    99999999999999.999+mon.NumToRMBStr(99999999999999.999));
      System.out.println(mon.NumToRMBStr(
    100000000.00));
      System.out.println(mon.NumToRMBStr(
    100000001.00));
      
      System.out.println(mon.NumToRMBStr(
    236.21));
     }
     
     String HanDigiStr[] 
    = new String[]{"","","","","","","","","",""};

     String HanDiviStr[] 
    = new String[]{"","","","","","","","","",
         
    "","","","","","","","",
         
    "","","","","","","" };
         
     
     String PositiveIntegerToHanStr(String NumStr)
     {     
    // 輸入字符串必須正整數(shù),只允許前導(dǎo)空格(必須右對齊),不宜有前導(dǎo)零
      String RMBStr = "";
      
    boolean lastzero = false;
      
    boolean hasvalue= false;       // 億、萬進位前有數(shù)值標(biāo)記
      int len,n;
      len 
    = NumStr.length();
      
    if( len > 15 ) return "數(shù)值過大!";
      
    for(int i=len-1;i>=0;i--) {
       
    if( NumStr.charAt(len-i-1)==' ' ) continue;      
       n 
    = NumStr.charAt(len-i-1- '0';
       
    if( n<0 || n>9 ) return "輸入含非數(shù)字字符!";
       
       
    if( n!=0 ) {
        
    if( lastzero ) RMBStr += HanDigiStr[0];  // 若干零后若跟非零值,只顯示一個零
                
    // 除了億萬前的零不帶到后面
        
    //if( !( n==1 && (i%4)==1 && (lastzero || i==len-1) ) )    // 如十進位前有零也不發(fā)壹音用此行
        if!( n==1 && (i%4)==1 && i==len-1 ) )     // 十進位處于第一位不發(fā)壹音
         RMBStr += HanDigiStr[n];
        RMBStr 
    += HanDiviStr[i];    // 非零值后加進位,個位為空
        hasvalue = true;                                    // 置萬進位前有值標(biāo)記
        
       }
    else {
        
    if( (i%8)==0 || ((i%8)==4 && hasvalue) )  // 億萬之間必須有非零值方顯示萬
         RMBStr += HanDiviStr[i];   // “億”或“萬”
       }
       
    if( i%8==0 ) hasvalue = false ;      // 萬進位前有值標(biāo)記逢億復(fù)位
       lastzero = (n==0&& (i%4!=0);    
       }
     
      
    if( RMBStr.length()==0 ) return HanDigiStr[0];         // 輸入空字符或"0",返回"零"
      return RMBStr;
     }
     
     String NumToRMBStr(
    double val)
     {
      String SignStr 
    ="" ;
      String TailStr 
    ="";
      
    long  fraction, integer;
      
    int jiao,fen;
     
      
    if( val<0 ) {
       val 
    = -val;
       SignStr 
    = "";
       }
      
    if(val > 99999999999999.999 || val <-99999999999999.999 ) return "數(shù)值位數(shù)過大!";
      
    // 四舍五入到分  
      long temp = Math.round(val*100); 
      integer 
    = temp/100;
      fraction 
    = temp%100;
      jiao 
    = (int)fraction/10;
      fen 
    = (int)fraction%10;
      
    if( jiao==0 && fen==0 ) {
       TailStr 
    = "";
       }
      
    else {
       TailStr 
    = HanDigiStr[jiao];
       
    if( jiao!=0 )
        TailStr 
    += "";
       
    if( integer==0 && jiao==0 )                // 零元后不寫零幾分
        TailStr = "";
       
    if( fen!=0 )
        TailStr 
    += HanDigiStr[fen] + "";
       }
     
     
    // 下一行可用于非正規(guī)金融場合,0.03只顯示“叁分”而不是“零元叁分”
     
    //        if( !integer ) return  SignStr+TailStr;
     
      
    return ""+SignStr+PositiveIntegerToHanStr(String.valueOf(integer) )+""+TailStr;
     }
     
    }
    //END public class money

    此日記TrackBack地址: http://yhe.dalian.cn/trackback.do?log_id=203

    posted on 2005-11-25 09:36 bluesky 閱讀(517) 評論(0)  編輯  收藏 所屬分類: 工作總結(jié)

    主站蜘蛛池模板: 四虎永久精品免费观看| 国产成人免费视频| 永久免费bbbbbb视频| 国产亚洲国产bv网站在线| 麻豆视频免费观看| 亚洲激情电影在线| 欧洲乱码伦视频免费| 国产亚洲精品影视在线| 在线播放免费播放av片| 国产AV无码专区亚洲AV琪琪| 免费国产人做人视频在线观看| 国产青草亚洲香蕉精品久久| 亚洲高清免费视频| 久久国产精品免费| 亚洲日本中文字幕区| 又粗又大又黑又长的免费视频| 国产成人精品日本亚洲专区6| 免费的涩涩视频在线播放| 又大又硬又粗又黄的视频免费看| 国产啪亚洲国产精品无码| 日本中文字幕免费高清视频| 一区二区三区亚洲| 嫩草视频在线免费观看| 色吊丝免费观看网站| 亚洲精品无码av人在线观看 | 亚洲av无码精品网站| 99久热只有精品视频免费看 | 91久久青青草原线免费| 中中文字幕亚洲无线码| 亚洲精品国产va在线观看蜜芽| 男的把j放进女人下面视频免费| 亚洲欧洲国产精品久久| 免费看国产一级特黄aa大片| 99久久精品毛片免费播放| 亚洲国产日韩在线| 免费观看国产小粉嫩喷水| 特级无码毛片免费视频尤物| 亚洲午夜无码久久| 国产亚洲3p无码一区二区| 久久精品免费一区二区喷潮| 一本岛v免费不卡一二三区|