String hours="1.51";
java.util.StringTokenizer  str = new java.util.StringTokenizer(hours,".");
    System.out.println(str.nextToken());
    System.out.println(str.nextToken());

解决方案 »

  1.   

    Double db = new Double("1.51");
    int i = (int)db.doubleValue();
    double f = db.doubleValue() - i;
      

  2.   

    String hours="1.51";
    int index = hours.indexOf('.');
    if(index != -1)
    {
       整数部分 = hours.substring(0, index);
       小数部分 = hours.substring(index + 1);
    }
    else
    {
        整数部分 = hours;
        小数部分 = "0";
    }
      

  3.   

    String hours="1.51";
    java.util.StringTokenizer  str = new java.util.StringTokenizer(hours,".");
        System.out.println(str.nextToken());
        System.out.println(str.nextToken());output:
    1
    51是字符串,需要转换为数据类型,小数部分前面需要加“0.”第二种方式:Double db = new Double("1.51");
    int i = (int)db.doubleValue();
    double f = db.doubleValue() - i;可做如下一点改动:
    Double db = new Double("1.51");
    int i = db.intValue();
    double f = db.doubleValue() - i;但输出如下:
    10.51如果改为1.511就会输出如下:
    10.5109999999999999第三种方式最好加try语句,因为很可能出现IndexOutOfBoundsException异常
      

  4.   

    谢谢 stevene(冰城绝恋) , 不好意思,刚好结帐了