java - float 数组到 double 数组

标签 java arrays floating-point double type-conversion

所以我需要使用类org.apache.commons.math3.stat.StatUtils来计算 float 组的平均值,但输入数组应该是 double 组。

如何将 float[] 转换为 double[]

最佳答案

您可以通过定义共同实现目标的逻辑步骤来解决问题:

  • 创建一个与 float[] 长度相同的 double[]
  • 迭代float[]并将值一一保存到double[]中的相应索引


传统上或Java 8之前的方式是这样的:

final double[] doubleArray = new double[floatArray.length];

for (int i = 0; i < floatArray.length; i++) {
    doubleArray[i] = floatArray[i];  // no casting needed
}


使用Java 8时,您可以使用Stream API为了得到一个更简洁的解决方案:

IntStream.range(0, floatArray.length).forEach(index -> doubleArray[index] = floatArray[index]);

可能用作函数:

public static double[] convertToDouble(final float[] values) {
    final double[] result = new double[values.length];

    IntStream.range(0, values.length).forEach(index -> result[index] = values[index]);
    return result;
}

关于java - float 数组到 double 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357842/

相关文章:

python - 使用不同数据类型的 numpy 数组进行多重处理时出现意外行为

math - float 学有问题吗?

java - 继承中的 ArrayStoreException

java - 从数据库加载详细信息时出现游标错误

java - 保存新实体时在 ManyToOne/OneToMany 关系上创建重复条目

c - 如何使用一个循环连接/链接字符串数组中的单词?

java - Android 缺少 Java 中可用的一些时区

javascript - Vue - 循环遍历对象数组,并在单击时突出显示所选项目

c++ - 高效稳定的有序数之和

ruby - 在 Ruby 中处理大量(高精度) float