String str = "1234";
int n ;
try
{
    n = Integer.parseInt(str);
    System.out.println(n);
}catch(Exception e){}
n = 1234;
String s = ""+n;
if(s.length<8)
    for(int i = 0;i<8-s.length;i++)
        s = "0"+s;
System.out.println(s);

解决方案 »

  1.   

    to knight_qmh(辉) :
    your code:
    String str = "1234";
    int n ;
    try
    {
        n = Integer.parseInt(str);
        System.out.println(n);
    }catch(Exception e){}
    n = 1234;
    String s = ""+n;
    if(s.length<8)
        for(int i = 0;i<8-s.length;i++)
            s = "0"+s;
    System.out.println(s); 
    运行结果:
    1234
    001234
    不对。
    因为:for循环里s的长度在增加,i也在增加,当循环2次时,i==2,8-s.length()==2;
    循环停止。
    应为:
    String str = "1234";
    int n ;
    try
    {
        n = Integer.parseInt(str);
        System.out.println(n);
    }
    catch(Exception e)
    {
    System.out.println(e);
    }
    n = 1234;
    String s =Integer.toString(n);
    if(s.length()<8)
    {
       int temp=8-s.length();
       for(int i = 0;i<temp;i++)
          s = "0"+s;
    }
    System.out.println(s); 
      

  2.   

    哪有那么麻烦啊这样不行吗
    (String----->int)
    String str="1243"; 
    int i=Integer.parseInt(str);(int-------->String)
      int n=12;
      java.text.DecimalFormat df=new java.text.DecimalFormat("00000000");
      String s=df.format(n);
      

  3.   

    谢谢大家了.还是ghw的方法简单.特别谢谢foolboylsh的细心.
    我就这样分配了.
       ghw 10分.
       foolboylsh 6分
       辉 4分.  
      

  4.   

    不行. str --->int,不用system.out语句有错误。