更新…分隔符显示在平台或仿真器引起的数组值中

问题描述

|| 当我调试下面的代码时,它将\“,\”(分隔定界符)作为值存储在数组“ 0”中。当
parseDouble
达到那个值时,我得到a2ѭ。有任何想法吗?
package com.simplydesign.android.standarddev;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;

public class Main extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final Button addBtn = (Button) findViewById(R.id.addBtn);
        final EditText userData = (EditText) findViewById(R.id.editText1);
        final TextView dataCollection = (TextView) findViewById(R.id.textView1);

        addBtn.setonClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                String[] rawData;
                rawData = userData.getText().toString().split(\",\");
                dataCollection.setText(calculate(rawData));
            }

        });

    }

    public String calculate(String[] a) {

        double[] convertedData = new double[a.length];
        double sum = 0.0;
        StringBuilder output = new StringBuilder();
        int t = 0;

        for (int f = 0; f<a.length;f++){
        convertedData[f] = Double.parseDouble(a[t]);
        t++;

        }
        for (int k = 0; k < convertedData.length; k++) {
            sum += convertedData[k];
        }
        output.append(sum);
        return output.toString();

    }
}
经过大量的试验和错误,我得出的结论是我的问题来自错误的平台/仿真器组合。最初,我将项目平台设置为2.1,API值为7。 无论出于何种原因,当我使用逗号作为分隔符时,这都会引起问题。当我的数字带有小数点时(小数点看起来是空心的),这也给我带来了麻烦。 现在,我将项目设置为1.6,并且可以使用逗号和小数点。 尽管我找到了解决方案,但我仍然不明白为什么会这样。我觉得我创建的某些应用程序需要安装在至少2.5的高平台上。对于大多数应用程序来说1.6可以吗?在此问题上的任何建议将不胜感激。     

解决方法

        尝试使用TextUtils.split