请教各位大侠一个问题:
如何将一个long型的数据,比如:long l=123456789L; 转换成长度为5位的字符串(结果就是12345,多余的位数舍弃)?麻烦各位大侠给个思路,感激不尽...

解决方案 »

  1.   

    public class Test {
    public static void main(String[] args) {
    long l=123456789L;
    String s = "" + l;
    if(s.length() >5) {
    s = s.substring(0, 5);
    }
    System.out.println(s);
    }
    }
      

  2.   

    String s = (l+"").subString(0,5);
    或者
    String s = new Long(l).toString().subString(0,5);
    需要检测异常更好的方法,应该是先把l 处理成5位,在转化
      

  3.   

    long l = 123456789L;

    String s = l + "";

    System.out.println(s.substring(0, 5));
    先将long 转成String , 再取几位就可以了呀,
      

  4.   


    非常感谢您的回答,如果long的长度不够5位的话,就不能这样做了,刚才我也没说清楚。请问您还有别的思路么,可以将传入的一个任何长度的long转换成一个定长的String
      

  5.   

    非常感谢各位的回答。。
    第一次发帖,没表达清楚意思,不好意思。。
    应该这样问:将传入的一个任何长度的long转换成一个定长的String,各位有什么比较通用的方法么?
      

  6.   


    public class Test {
        public static void main(String[] args) {
      long l = 1234L;
    String s3 = "" + l;
    if (s3.length() > 5)
    {
    s3 = s3.substring(0, 5);
    }
    else
    {
    s3 = "00000" + s3;
    s3 = s3.substring(s3.length() - 5, s3.length());
    }
    System.out.println(s3);
    }
    }
      

  7.   

    import java.util.Scanner;
    public class Example
    {
    public static void main (String[] args) 
    {
    Scanner reader=new Scanner(System.in);
    System.out.println ("输入一个long型数据:");
    long number=reader.nextLong();
    System.out.println ("输入要转换的定长:");
    int n=reader.nextInt();
    MyNumberFormat myFormat=new MyNumberFormat();
    System.out.println ("转换后:"+myFormat.format(number,n));
    }
    }
    class MyNumberFormat
    {
    public String format(long number,int n)
    {
    String str=String.valueOf(number);
    int leng=str.length();
        n=Math.min(leng,n);
    str=str.substring(0,n);
    return str;
    }

    }