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)?
尝试这个:
for (double d : x.get(0)) {
System.out.println("Not Integer:" + ((int) (d * 10) / 10 != d));
}
更新(这也应该足够了):
System.out.println("Not Integer:" + ((int) d != d));
我是 Java 新手 :P 但我认为直接比较不好?
double a = 1;
double b = 1;
double c = a-b;
if (Math.abs(c) == 0) {...}
基本上将另一个原语设置为您要查找的值。从列表中减去该值。如果索引之一包含 1.2 而不是 1.2-1.2 = 0?比你知道它在哪里吗?
您可以尝试以下方法:
for(double i : x) {
String total2 = String.valueOf(i);
if(i.contains(".")){
// ...
}
}
或者你可以使用if(Math.floor(i) > 0)
alter for String
aproarch。
编辑:我刚刚理解了这个问题。所以这是更新的答案
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);
}
}