定义一个double类型的变量,初始化它为1234.5678; 如何取出他前面整数部分保存在LONG类型的变量里。和取出他后面的小数部分保存在 short类型的变量里。

解决方案 »

  1.   

    double 类型的也能用 subString()方法吗?
      

  2.   

    public static void main(String[] args) {
    double d = 1234.5678;
    long l = (long)d;
    String str = String.valueOf(d);
    System.out.println("强制转换为long型后为:"+l);
    System.out.println("转换为字符串后为:"+str);

    }***************************************************************
    运行结果:强制转换为long型后为:1234
    转换为字符串后为:1234.5678
      

  3.   

    public static void main(String[] args) {
    double d = 1234.5678;

    long l = (long)d;
    System.out.println("强制转换为long型后为:"+l);

    //将1234.5678转换为字符串“1234.5678”
    String str = String.valueOf(d);

    //取出小数部分的字符串“5678”
    String str2 = str.substring(5);

    //将字符串str2="5678"转换为short类型的变量
    short s = Short.parseShort(str2);

    System.out.println("将小数部分取出保存为short类型为:"+s);

    }*****************************************************************8
    运行结果为:强制转换为long型后为:1234
    将小数部分取出保存为short类型为:5678
      

  4.   

             double dNum = 1234.5678;
             String strNum = String.valueOf(dNum);
             String[] getNum = strNum.split("\\.");
             long l = Long.parseLong(getNum[0]);
             short s = Short.parseShort(getNum[1]);
             System.out.println("long is"+"     "+l);
             System.out.println("short is"+"    "+s);
    跟帖
      

  5.   

                    double d=1234.5678;
    long l=(long)d;
    String str = String.valueOf(d);
    String[] s = str.split("\\.");
    System.out.println(l);
    System.out.println(s[1]);运行结果:
                1234
                5678 这样就可以了,不管是多少为小数都可以。
      

  6.   

    可以直接把双精度的值转换为字符串,然后用split来分解它double d=1234.5678; String str = String.valueOf(d); 
    String[] s = str.split("\\."); 
    System.out.println(s[0]); 
    System.out.println(s[1]); 运行结果: 
                1234 
                5678 就这样了,结贴吧