0

我有一个活动,其中从 中检索值ResultSet并将它们存储在一个数组中:

flat[i] = rs.getDouble(3);
flng[i] = rs.getDouble(4);
i++;
Intent i = new Intent(MapID.this, map.class);
Bundle bundle=new Bundle();
bundle.putDoubleArray("Lat", flat);
bundle.putDoubleArray("Long", flng);
i.putExtras(bundle);
startActivity(i);

在另一堂课上,我通过以下方式获取值:

Bundle bundle = getIntent().getExtras();
flat = bundle.getDoubleArray("Lat");

我想将值转换为字符串,例如:

String xx = new Double(flat).toString();
4

3 回答 3

1

在 Java 中,+ 运算符是为原语定义的。你可以简单地做类似的事情String xx = "" + myDouble;

虽然建议使用这样的 String 方法:String xx = String.valueOf(myDouble);

于 2014-04-01T11:03:02.447 回答
1

我不知道你想要什么将值转换为字符串。如果要将单双数转换为字符串,可以使用:

String.valueOf(double);

但我认为你需要将双数组的所有数字都更改为字符串,你可以使用这个:

Arrays.toString(double[]);

如果您需要将所有结果的数据打包,您可以使用这个:

Bundle.putSparseParcelableArray(String key, SparseArray<? extends Parcelable> value);

SparseArray 在 android 中非常有用。它喜欢 java.util.Map,但键必须是整数。

于 2014-04-01T11:18:19.570 回答
0

对数组的每个元素使用String.valueOf并将其存储到另一个String数组,如下所示:

double[] flat = bundle.getDoubleArray("Lat");
String[] flatAsStrings = new String[flat.length];

for (int i = 0; i < flat.length; i++) {
    flatAsStrings[i] = String.valueOf(flat[i]);
}

要简单地打印这些float值而不将其转换为字符串,您可以这样做:

double[] flat = bundle.getDoubleArray("Lat");
System.out.println(Arrays.toString(flat));

将打印类似的内容(取决于您的输入):

[1.0, 2.0, 3.0, 4.0, 5.0]
于 2014-04-01T11:04:45.343 回答