将 2D 双精度转换为 2D 浮点



>有没有人知道如何将二维数组从双精度转换为浮点数 我有以下内容:

double [][] matrix = new double[width][height];

我想将变量数据中的数据转换为 Flaot,所以我有一个新变量,如下所示:

float [][] floatmatrix = new float[width][height];

我尝试过铸造,但不允许,例如

float[][] data = (float[][]) result;

您需要逐个条目复制它(在两个嵌套循环中):

    float[][] floatmatrix = new float[width][height];
    for (w = 0; width > w; w++) {
        for (h = 0; height > h; h++) {
            floatmatrix[w][h] = (float) matrix[w][h];
        }
    }

一个更独立的函数:

输入形状将自动推断。您可以使用它将任何类型的转换为任何类型的。只需将double转换为源数据类型,float转换为目标数据类型即可。

public float[][] d2fConverter(double[][] _tfIdf){
    float[][] tfIdf = new double[_tfIdf.length][_tfIdf[0].length];
    for (int w = 0; _tfIdf.length > w; w++) {
        for (int h = 0; _tfIdf[0].length > h; h++) {
            tfIdf[w][h] = (float) _tfIdf[w][h];
        }
    }
    return tfIdf;
}

相关内容

  • 没有找到相关文章