将日期小写变大写
输入日期格式为  2005-05-30
转换成 (a)年(b)月(c)日
(贰零零五)年(零五)月(叁拾)日

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3638/3638651.xml?temp=.3090937
      

  2.   

    难道你就不会变通下string a = "2005-05-30";
    int iyear  = int.Parse(a.Substring(0,4));
    int imonth = int.Parse(a.Substring(5,2));
    int iday   = int.Parse(a.Substring(8,2));然后将三个数照上面的函数转换为大写不就可以了
      

  3.   

    int n=a.length;
    for(int i=0;i<n;i++)
    {
    string str =a.Substring(i,1);
                                         
    string values="";
    switch (str)
    {
    case "0":
    str="零";
    break;
    case "1":
    str="一";
    break;
    case "2":
    str="二";
    break;
    case "3":
    str="三";
    break;
    case "4":
    str="四";
    break;
    case "5":
    DayOfWeekZh="五";
    break;
                                               ......
    case "9":
    DayOfWeekZh="九";
    break;

    values +=str;
    }
    然后插入年月日
      

  4.   

    转换函数: private string cvt(string ds,bool by)
    {
    char[] cn=new char[]{'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
    string rs="";
    for(int i=0;i<ds.Length;i++)
    {
    int j=int.Parse(ds.Substring(i,1));
    rs+=cn[j];
    }
    if(!by&&rs.Length>1&&rs.Substring(0,1)!="零")
    {
    rs=rs.Insert(1,"拾");
    if(rs.Substring(0,1)=="壹")
    rs=rs.Substring(1);
    }
    return rs;
    }
    -------------------------------------------------------------
    测试代码:
    //string sd=dt.ToShortDateString();
    string sd="2005-02-26";
    string[] ss=sd.Split('-');
    string sr="";
    sr+=cvt(ss[0],true);
    sr+="年";
    sr+=cvt(ss[1],false);
    sr+="月";
    sr+=cvt(ss[2],false);
    sr+="日";
    MessageBox.Show(sr);
      

  5.   

    年月日要对应到相应的textbox的所以转换成的字符串应该分为三个,比如A 贰零零五
                                        B  零五
                                        C  叁十
    麻烦大家了,我编程学得不好,分不够写完了我再开个帖
      

  6.   

    搞定了 感谢大家
    感谢prochf
    你的代码太简洁了^_^