隨筆-4  評論-1  文章-1  trackbacks-0

           

          del_right(char *s)   //去掉右空格
          {
             char *p;
             p=s;
             for(p+=strlen(s)-1;*p==' ';p--);
             *(p+1)=0;
          }

          del_left(char *s)   //去掉左空格
          {
              char *p1, *p2;
              p1=p2=s;
              while(*p2==' ') p2++;
              while(*p1++=*p2++);
          }

          change_upper(char *s)      //轉換小寫字符串為大寫

             int length, i; 
             length = strlen(s); 
             for (i=0; i<length; i++) 
             { 
                s[i] = toupper(s[i]); 
             } 

             //printf("%s\n",s); 

             return 0; 


          change_lower(char *s) //轉換大寫字符串為小寫

             int length, i; 
             length = strlen(s); 
             for (i=0; i<length; i++) 
             { 
                s[i] = tolower(s[i]); 
             } 

             //printf("%s\n",s); 

             return 0; 
          }


          go_right(char *s,int len)   //將客戶名稱補足len位
          {
             int i=0,j=len-strlen(s);
             char *p;
             p=s;
             for(p+=strlen(s)-1;i<=j;i++,*(p+i)=' ');
             *(p+i)='\0';
          }

          #include <stdio.h>
          /****************************************************
           函 數 名: xxtodx(a,b)
           功    能: 將小寫數字金額轉換成大寫漢字金額
           入口參數: a  小寫數字字串(不含小數點,擴大100倍)
                     b  轉換后的大寫漢字字串
           ****************************************************/
          xxtodx(a,b)
          char *a,*b;
          {
           int i,bz,wz,m;
           double je,je1,j;
           static char *dw[13]={"佰","拾","億","仟","佰","拾","萬","仟",
                                "佰","拾","元","角","分"};
           static char *dx[10]={"零","壹","貳","叁","肆","伍","陸","柒",
                                "捌","玖"};
           static char *z={"整"};
           if (strlen(a)==0) je=0;             /* 字串長度為0,金額為0 */
           else je=atof(a);                    /* 將字串轉換成雙精度  */
           i=0;bz=0;wz=1;je1=je;
           if (je==0) { strcpy(b,dx[0]); b+=2; } /* 輸出為零 */
           else
           { for(j=1000000000000.00;j>=1.00;j/=10.00)
              { m=je/j;                        /* 取整得到第一個數字 */
                je=je-m*j;
                if (m>0)                       /* 若有數字           */
                 { if (bz==2)                  /* 若干個0輸出一個零  */
                    { strcpy(b,dx[0]); b+=2; }
                   strcpy(b,dx[m]);            /* 輸出漢字數字       */
                   b+=2;
                   strcpy(b,dw[i]);            /* 輸出金額單位       */
                   b+=2;
                   bz=1;                       /* 掛起零標志         */
                 }
                else
                 {
                  if ((i==2)&&(je1>=10000000000.00))
                   { strcpy(b,dw[i]); b+=2; } /* 輸出"億"字          */
                  if (i==3) wz++;
                  if (i==4) wz++;
                  if (i==5) wz++;
                  if ((i==6)&&(je1>=1000000.00)&&(wz!=4))
                   { strcpy(b,dw[i]); b+=2; }/* 輸出"萬"字           */
                  if ((i==10)&&(je1>=100))
                   { strcpy(b,dw[i]); b+=2; }/* 輸出"元"字           */
                  if (i==12)
                   { strcpy(b,z); b+=2;}     /* 若無"分",輸出"整"字  */
                  if ((i!=0)&&(i!=12)&&(bz!=0)) bz=2; /*激活零標志   */
                 }/* of else */
                 i++;
              }/* of for() */
           }/* of else */
          }

          del_LR_flag(s,LR,flag)    //從LorR方向刪除s的flag字符
          char *s,LR,flag;
          {
             int i,j;
             switch (LR){
               case 'L':
                        for(i=0,j=0;i<strlen(s);i++){
                          if(s[i]==flag && j==0) continue;
                          s[j]=s[i];
                          j++;
                        }
                        s[j]='\0';
                        break;
               case 'R':
                        for(i=strlen(s)-1;i>=0;i--){
                          if(s[i]!=flag) break;
                        }
                        substr(s,s,1,i+1);
                        break;
               default:return(-1);
             }
             return 0;
          }

          posted on 2005-03-10 14:30 痛比快樂多 閱讀(89) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 原阳县| 司法| 金沙县| 安仁县| 上饶县| 萍乡市| 齐河县| 新绛县| 双柏县| 泰州市| 杂多县| 乌拉特中旗| 崇义县| 广安市| 德州市| 荔浦县| 小金县| 乳源| 固原市| 中牟县| 石狮市| 治多县| 八宿县| 长白| 和平区| 海门市| 扬州市| 右玉县| 东城区| 丹凤县| 茂名市| 察雅县| 上犹县| 石柱| 黄石市| 隆德县| 鹤岗市| 鹤壁市| 彭水| 白水县| 南汇区|