逗号分隔和一对一值显示在android

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
machunhui1105 回答:逗号分隔和一对一值显示在android

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)));
本文链接:https://www.f2er.com/3060933.html

大家都在问