不在线

不在线,不常在,常常在

  博客园 :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::
存在一些問題
不太完善
比如輸入100出現一百零十零
  1 /// <summary>
  2       /// 返回數字(暫時只支持3位數以内)
  3       /// </summary>
  4       /// <param name="num"></param>
  5       /// <returns></returns>

  6       public string CastToChineseNumber(string num)
  7       {
  8           string CNum = num;//設置將要返回的數字等於輸入的數字
  9           if (CheckNum(CNum))
 10           {
 11               switch (num.Length)
 12               {
 13                   case 0://如果沒有輸入數字
 14                       CNum = "N/A"//未知
 15                       break;
 16                   case 1://如果是1位的數字
 17                       CNum = GetCNum(num);
 18                       break;
 19                   case 2://2位的數字
 20                       if (num.Substring(1== "0" )//處理 10,20,3090這類數字
 21                       {
 22                           if (num.Substring(01== "1")
 23                           {
 24                               CNum = "";
 25                           }

 26                           else
 27                           {
 28                               CNum = GetCNum(num.Substring(01)) + "";
 29                           }

 30                       }

 31                       else if(num.Substring(0,1)=="1")//處理11轉換為 十一  而不是一十一
 32                       {
 33                           CNum = "" + GetCNum(num.Substring(1));
 34                       }

 35                       else
 36                       {
 37                           CNum = GetCNum(num.Substring(01)) + "" + GetCNum(num.Substring(1));
 38                       }

 39                       break;
 40                   case 3://如果是3位的數字
 41                       string aa=num.Substring(1,1);
 42                       CNum = GetCNum(num.Substring(01)) + "" + GetCNum(num.Substring(1,1)) + "" + GetCNum(num.Substring(2)); break;
 43                   defaultbreak;
 44               }

 45           }

 46           return CNum;            
 47
 48       }

 49       /// <summary>
 50       /// 檢查是否是數字
 51       /// </summary>
 52       /// <param name="num"></param>
 53       /// <returns></returns>

 54       public bool CheckNum(string num)       
 55       {          
 56           string Num = "0123456789";
 57           char  [] nums = num.ToCharArray();           
 58           bool isNum=false;
 59           foreach (char n in nums)
 60           {
 61               if (Num.Contains(n.ToString()))
 62               {
 63                   isNum = true;
 64               }

 65               else
 66               {
 67                   isNum = false;
 68                   break;
 69               }

 70           }

 71           return isNum;
 72       }

 73       /// <summary>
 74       /// 獲取單個數字對應的漢字
 75       /// </summary>
 76       /// <param name="num"></param>
 77       /// <returns></returns>

 78       public string GetCNum(string num)
 79       {
 80           string Cnum = "";
 81           switch (int.Parse(num))
 82           {
 83               case 0:
 84                   Cnum = ""break;
 85               case 1:
 86                   Cnum = ""break;
 87               case 2:
 88                   Cnum = ""break;
 89               case 3:
 90                   Cnum = ""break;
 91               case 4:
 92                   Cnum = ""break;
 93               case 5:
 94                   Cnum = ""break;
 95               case 6:
 96                   Cnum = ""break;
 97               case 7:
 98                   Cnum = ""break;
 99               case 8:
100                   Cnum = ""break;
101               case 9:
102                   Cnum = ""break;
103           }

104           return Cnum;
105       }
posted on 2009-09-17 11:51  不常在  阅读(726)  评论(0编辑  收藏  举报