String ecg1 = "10,20,100,-100,10,110,-105,15,25";
Double.parseDouble(model.getEcg1().split(",") + "\n")
这不起作用。 我希望结果如下所示,即一栏一列地取值:
10
20
100
-100
20
10
110
-105
15
25
String ecg1 = "10,20,100,-100,10,110,-105,15,25";
Double.parseDouble(model.getEcg1().split(",") + "\n")
这不起作用。 我希望结果如下所示,即一栏一列地取值:
10
20
100
-100
20
10
110
-105
15
25
split
将创建由String
组成的数组,而不是单个String
,因此您不能将其解析为Double
。拆分ecg1
后,您可以遍历列表并进行打印。
try {
String ecg1 = "10,20,100,-100,10,110,-105,15,25";
String[] items = ecg1.split(",");
ArrayList<Double> numbers = new ArrayList();
for (int i=0; i<items.length; i++) {
numbers.add(Double.parseDouble(items[i]));
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
您可以使用双精度数字列表来做任何您想做的事情。 Double.parseDouble
可能引发异常,因此您应该捕获它。
如果您只想生成一个将值显示为列的字符串,那么将有一个更简单的解决方案
String ecg1 = "10,25";
String result = ecg1.replace(",","\n");
,
String ecg1 = "10,25";
String[] ecg2=ecg1.split(",");
然后您可以使用正常循环遍历ecg2
for(int i=0;i<ecg2.length;i++)
{
//ecg2[i] is the element you want
}
,
如果您使用Java 8,就可以做到
String str = String.join("\n",ecg1.split(','));
System.out.println(str);
,
尝试将给定的字符串转换为String Array,然后通过解析为Double数据类型(如下面的代码)插入项目:-
String[] items = ecg1.split(",");
ArrayList<Double> numbers = new ArrayList<Double>();
for (int i=0;i<items.length;i++) {
numbers.add(Double.parseDouble(items[i]));
}
,
这将不起作用,因为model.getEcg1().split(",")
将返回一个字符串数组。
您无法通过此Double.parseDouble(model.getEcg1().split(","))
解析整个字符串数组以使其加倍,并且添加\n
再次将无法工作。
如果只希望打印所需的输出,可以尝试以下代码
String ecg1 = "10,25";
Stream<String> stream = Arrays.stream(ecg1.split(","));
stream.forEach(x -> System.out.println(x));
如果要存储在Collection中,请执行以下操作
String ecg1 = "10,25";
List<Double> li=new ArrayList<>();
Stream<String> stream = Arrays.stream(ecg1.split(","));
stream.forEach(x -> li.add(Double.parseDouble(x)));