当长度为1时(例如值为:8),则显示为四位数"0008"
当长度为2时(例如值为:63),则显示为四位数"0063"
当长度为3时(例如值为:463),则显示为四位数"0463"
当长度为4时(例如值为:2563),则显示为四位数"2563"<asp:Label id="Label2" runat="server"  Text='<%# GetNo(DataBinder.Eval(Container.DataItem, "no").ToString()) %>' Width=15>public string GetNo(string str)
{

switch(str.Length)
{
case 1:
return "000"+str;

break;
case 2:
return "00"+str;
break;
case 3:
return "0"+str;
 break;
case 4:
return str;
break;
}
}

解决方案 »

  1.   

    use padleft functionstring a="22";
    a.PadLeft(4,"0");
      

  2.   

    string str = "8";str = str.PadLeft(4, "0");
      

  3.   

    SORRY, 楼上已经写了, ^_^在使用C#的时候, 尽量先了解它的一些常用的东西, 少走弯路
      

  4.   


    好象 .net里 一个方法体内只允许有一个 return 语句
    我以前碰到过类似的情况!
    你把它改为这样:
    public string GetNo(string str)
    {
    string str2;
    switch(str.Length)
    {
    case 1:
    str2="000"+str;

    break;
    case 2:
    str2="00"+str;
    break;
    case 3:
    str2="0"+str;
     break;
    case 4:
    str2=str;
    break;
    }
                         return str2;
    }
      

  5.   

    int i=10;
    string x=i.ToString("0000");
      

  6.   

    不行啊.<asp:Label id="Label2" runat="server"  Text='<%# GetNo(DataBinder.Eval(Container.DataItem, "no").ToString()) %>' Width=15>public string GetNo(string str)
    {

    str = str.PadLeft(4,"0");
    }
      

  7.   

    public string GetNo(string str)
    {
      return str.PadLeft(4,"0");
    }
      

  8.   

    少了return.
    有时候看到类似的字符串处理还真烦的。。
    可能是我的基本功不扎实吧
      

  9.   

    ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemStringClassPadLeftTopic.htm