0
    List<double[]> x = new ArrayList<double[]>();
    x.add(new double[] { 1, 1.2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12  }); 

如何在 x List 中使用 java 代码查找非整数类型(1.2)?

4

4 回答 4

1

尝试这个:

for (double d : x.get(0)) {
System.out.println("Not Integer:" + ((int) (d * 10) / 10 != d));
}

更新(这也应该足够了):

System.out.println("Not Integer:" + ((int) d != d));
于 2013-06-06T02:00:54.033 回答
0

我是 Java 新手 :P 但我认为直接比较不好?

double a = 1;
double b = 1;
double c = a-b;
if (Math.abs(c) == 0) {...}

基本上将另一个原语设置为您要查找的值。从列表中减去该值。如果索引之一包含 1.2 而不是 1.2-1.2 = 0?比你知道它在哪里吗?

于 2013-06-06T01:51:17.867 回答
0

您可以尝试以下方法:

for(double i : x) {
   String total2 = String.valueOf(i);
   if(i.contains(".")){
     // ...
   }
}

或者你可以使用if(Math.floor(i) > 0)alter for Stringaproarch。

于 2013-06-06T01:50:14.573 回答
0

编辑:我刚刚理解了这个问题。所以这是更新的答案

    List<double[]> x = new ArrayList<double[]>();
    x.add(new double[] { 1, 1.2, 2.9, 3.9, 4.1, 5.5, 6, 7, 8, 9, 10, 11, 12  });

    List<Double> foundDoubles = new ArrayList<Double>();

    int i = 0;
    for(double d : x.get(0)) {
        i = (int)d;
        if(i != d) {
            foundDoubles.add(d);
        }
    }

    for(double d : foundDoubles) {
        System.out.println(d);
    }
}
于 2013-06-06T01:42:40.897 回答