我有一个活动,其中从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,如:
String xx = new Double(flat).toString();
答案 0 :(得分:1)
在Java中,+运算符是为基元定义的。您可以执行String xx = "" + myDouble;
虽然建议使用这样的String方法:String xx = String.valueOf(myDouble);
答案 1 :(得分:1)
我不知道您想要将值转换为String的内容。如果要将单个双精度数转换为String,可以使用:
String.valueOf(double);
但我认为您需要将双数组的所有数字都更改为String,您可以使用:
Arrays.toString(double[]);
如果您需要将所有结果数据捆绑,您可以使用:
Bundle.putSparseParcelableArray(String key, SparseArray<? extends Parcelable> value);
SparseArray在android中非常有用。它喜欢java.util.Map,但键必须是整数。
答案 2 :(得分: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]