在 Java 中将 Nan 值替换为 0

Replace the Nan values with 0 in Java

您好,我需要将 java 数组中的 Nan 值替换为 0,谢谢您的帮助。你可以找到我的数组的例子。

数组类型为double,数组内容如下

x = [ 1 , 2, Nan , 4, Nan ] 

循环数组并使用Double中的isNaN方法检查数字是否为NaN

for(int i=0; i<array.length; i++){
    if(Double.isNaN(array[i])) {
        array[i] = 0d;
    }
}

在 Java Nan != Nan 计算结果为真。

double[] x = { 1 , 2, Double.NaN , 4, Double.NaN};
System.out.println(Arrays.toString(x));
for (int i = 0; i < x.length; i++) {
    if(x[i]!=x[i]) {
        x[i] = 0;
    }
}
System.out.println(Arrays.toString(x));

输出:

[1.0, 2.0, NaN, 4.0, NaN]
[1.0, 2.0, 0.0, 4.0, 0.0]