【问题标题】:Split comma and one by one value show on android在android上拆分逗号和一一显示值
【发布时间】:2019-11-21 04:09:40
【问题描述】:
String ecg1 = "10,20,100,-100,20,10,110,-105,15,25"; 
Double.parseDouble(model.getEcg1().split(",") + "\n")

这不起作用。 我想要如下结果,即逐列计算:

10
20
100
-100
20
10
110
-105
15
25

【问题讨论】:

  • 不工作是什么意思?你的输出是什么?
  • 我想你在这里遗漏了一些东西。请告诉我什么是“model.getEcg1().split(",")”。

标签: java android split


【解决方案1】:
String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
String[] ecg2=ecg1.split(",");

然后您可以使用正常循环遍历 ecg2

for(int i=0;i<ecg2.length;i++)
{
//ecg2[i] is the element you want
}

【讨论】:

    【解决方案2】:

    如果你使用 Java 8 你就可以做到

    String str = String.join("\n", ecg1.split(','));
    System.out.println(str);
    

    【讨论】:

      【解决方案3】:

      split 将创建String数组,而不是单个String,因此您无法将其解析为Double。拆分ecg1后,可以遍历列表打印出来。

      try {
          String ecg1 = "10,20,100,-100,20,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,20,100,-100,20,10,110,-105,15,25";
      String result = ecg1.replace(",", "\n");
      

      【讨论】:

      • 从什么时候开始字符串拆分返回列表而不是数组?
      • 谢谢。我的代码受保护 List doInBackground(Void... voids) { List seriesData = new ArrayList(); for (int index = 0; index
      • @uneq95 我正在使用 Kotlin,抱歉
      • 数据来自 sqlite 数据库
      • 设置 set = Set.instantiate(); set.data(seriesData);映射系列1Mapping = set.mapAs("{ x: 'x', value: 'value'}");
      【解决方案4】:

      尝试将给定的字符串转换为字符串数组,然后通过解析为 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]));
      }
      

      【讨论】:

        【解决方案5】:

        这不起作用,因为model.getEcg1().split(",") 将返回一个字符串数组。 您无法通过此 Double.parseDouble(model.getEcg1().split(",")) 将整个字符串数组解析为加倍并添加 \n 再次不起作用。

        如果您只想打印所需的输出,可以试试下面的代码

        String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
            Stream<String> stream = Arrays.stream(ecg1.split(","));
            stream.forEach(x -> System.out.println(x));
        

        如果您想存储在 Collection 中,请执行以下操作

        String ecg1 = "10,20,100,-100,20,10,110,-105,15,25";
            List<Double> li=new ArrayList<>();
            Stream<String> stream = Arrays.stream(ecg1.split(","));
            stream.forEach(x -> li.add(Double.parseDouble(x)));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多