-1

它可能看起来很简单,但我找不到答案......我想在 JSP 中将一个双精度数组转换为单个字符串(我想这与 java 中的相同)

所以如果我有一个数组:

double[] Array={1.6, 2.8, 3, 4.8, 5, 6, 7, 8.8, 9, 10, 11, 12};

我将如何将其转换为单个字符串:

String str;

例如!?

许多人建议的 String str = Arrays.toString(Array) 不起作用,因为我想 jsp 与 java 有点不同......现在这样解决了:

String str = ""; 
for(int i = 0; i<12; i++)
{
    nums += Double.toString(Array[i]) + ",";
}
4

6 回答 6

2

使用Arrays.toString()

返回指定数组内容的字符串表示形式。

String res = Arrays.toString(intArray);

如果intArray是 [1, 9, 5]

res现在将是:“[1, 9, 5]”

如果您希望字符串集中 int 元素,您可以执行以下操作:

String res = "";
for(int num: intArray)
    res += num;

现在res是195

当然,您可以在每个数字之间放置空格等等..

编辑后,我看到您有一系列双打。我认为您可以进行所需的更改。

于 2013-03-30T08:37:20.833 回答
1

阅读这个例子:Java Convert int Array To String Example
你需要 toString 方法。这样做:

int[] intArray={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
String str=Arrays.toString(intArray);
于 2013-03-30T08:42:11.730 回答
0

好吧,您还没有说您希望字符串看起来像什么,但您可能想要Arrays.toString(int[])or Arrays.toString(double[])(因为您现在已经更改了变量类型)。例如:

String text = Arrays.toString(array);

将为您提供您"[1.6, 2.8, 3, 4.8, 5, 6, 7, 8.8, 9, 10, 11, 12]"提供的示例数据。

如果您想要其他任何东西,您应该更好地指定您的要求。

于 2013-03-30T08:37:17.397 回答
0
String str = "";    

for(int i: intArray)
{
    str += i.toString() + " ";
}

输出

1 2 3 4 5...
于 2013-03-30T08:39:08.043 回答
0

我建议您查看Apache Commons Lang 项目的StringUtils.join()方法。然后它会很简单:

StringUtils.join(desiredSeparatorChar, doubleArray);

Arrays.toString()与使用其他答案中的建议相比,它可以让您更好地控制结果字符串。

于 2013-03-30T08:39:57.220 回答
0

这个怎么样?

int[] intArray={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
String str = Arrays.toString(array);
System.out.print(str);
于 2013-03-30T08:41:15.463 回答