是呀,将浮点转换为int,然后将int转化为String,然后取String的长度。怎么感觉刚才看过这个帖子了?我的答案不一定是最好的,关注更好的方法。

解决方案 »

  1.   

    public class Test {  public static void main(String[] args) {
        double d = Double.parseDouble(args[0]);
        String str = String.valueOf(d);
        if (str.indexOf("E") != -1)
          System.out.println("整数位为"
            + (Integer.parseInt(str.substring(str.indexOf("E")+1)) + 1));
        else
          System.out.println("整数位为" + str.indexOf("."));
      }
    }
      

  2.   

    楼主的意思是不是用来判断给你的一个数的整数部分是否大于5!
    如果是这样的话我下面的程序应该能帮你解决问题
    public class just
    {
      public static void main(String [] args)
     {
        try
       {
    int s1=Integer.parseInt("2964590348.12556");
    String s2=String.valueOf(s1);
    s2.length();
    System.out.println(s2.length());
         }
        catch(Exception e)
        { 
    System.out.println("");

        }

      }
    }
      

  3.   

    还有一个最简单的办法,如果楼主只想判断一个数整数部分的位数的话
    看下面这个程序!
    public class just
    {
    public static void main(String [] args)
    { /*int s0=99999
    try{

    int s1=Integer.parseInt("2964590348.12556");

    //String s2=String.valueOf(s1);
    //s2.length();
    System.out.println(s2.length());
    }
    catch(Exception e)
    {
    System.out.println("");

    }



    }*/
    double a1=10000D;
    double a2=100000D;
    double x=Double.parseDouble("2964590348.12556");
    if(x<a1)
    {
    System.out.println("<5");
    }
    if(x>=a2)
    {
    System.out.println(">5");
    }
    else 
    {
    System.out.println("=5");
    }

    }
    }