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/

相关文章:

java - 如何在postgreSQL数据库中存储ISO/IEC 19794-2指纹模板

PHP 在不使用列名的情况下动态回显查询结果列

c++ - ptrdiff_t 可以表示指向同一数组对象的元素的指针的所有减法吗?

c - 如果 C 有指针,为什么它需要数组?

mysql - SQL浮点列: select "where x = 2.0" works,但 "where x = 2.1"没有

java - 当没有输入任何内容时解析生成我生成的错误消息的字符串

java - 如何在 Java 中一次从整个字符串中转义所有特殊字符

java - 向用户组发送独特的页面

c - 小于 FLT_EPSILON 的最大数字是多少?

ruby - 如何让 ruby 显示更多的小数位?