声明一个变量int i=0001,程序运行的时候会自动把前面的零都去掉,有什么办法能保留前面的零吗?

解决方案 »

  1.   

    改成字符串类型就可以了 int类型不行啊
      

  2.   

     声明时:
     string i = "0001"; 
    应用时:
    int.Parse(i);
      

  3.   

    根据要求更改表现形式
    int i = 1;
    string str = i.ToString("0000"); //0001LeftPad也可以。
      

  4.   

    你说的整数前边带0,主要是为了显示用。可以这样解决:            int a = 15;
                this.label1.Text = string.Format("{0:00000}", a);显示结果就是00015。参见:
    http://www.csharp-examples.net/string-format-int/
      

  5.   

    static void Main(string[] args)
            {
                string i = "0001";
                int value ;
                for (int index = 0; index < 19; index++)
                {
                   value= int.Parse(i);
                   value++;
                   i= AppentFoString(value);
                   Console.WriteLine(i);
                
                } 
                Console.ReadKey();
            }        private static string AppentFoString(int value)
            {
                int count = 0;
                count = 4 - value.ToString().Length;
                return Gener(count) + value.ToString();
            }
            private static string Gener(int num)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < num; i++)
                    sb.Append("0");
                return sb.ToString();
            }