要求:把任意一个小数(double)的整数部分存入long变量,小数部分存入short变量
求指点;

解决方案 »

  1.   

    你需要先确认下小数准备保留小数点后几位。
    double num = 12345.678;
    long partInt = (long)num; // 强转直接得到整数部分
    short partPoint = (short)((num - partInt) * 100); // 如果只保留2位
      

  2.   

    嗯.谢谢你给我这个思路.我自己再试下
    我设定的是double d=1234.5678
      

  3.   


    public class Test {
    public static void main(String[] args) {
    double d = 1234.123;
    long l = Long.parseLong(String.valueOf(d).split("\\.")[0]);
    short s = Short.parseShort(String.valueOf(d).split("\\.")[1]);
    System.out.println(d);
    System.out.println(l);
    System.out.println(s);
    }
    }
    这样应该可以,具体就是先转成String类型,然后以"."作为分割符,调用string的split方法,最后转成相应的类型。