从edittext获取十进制数

时间:2013-05-12 11:13:00

标签: android android-edittext

我知道有类似的问题已经被问过了,但是我从键盘上得到十进制数字时遇到了一些麻烦。

onCreate方法中的我的Java代码应为:

textS0 = (EditText)findViewById(R.id.editS0);
Button btn_S0 = (Button)findViewById(R.id.getS0);

btn_S0.setOnClickListener(new View.OnClickListener() 
{
    public void onClick(View v)
    {
        //how should I get here the number from keyboard?
        //I think  I should be something like
        //double S0=textS0.getText()....
    }
});

这就是我的XML文件包含的内容

<EditText
       android:id="@+id/editS0"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:ems="10"
       android:hint="@string/S0"
       android:inputType="numberDecimal" />
<Button
       android:id="@+id/getS0"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/setS0" />
</LinearLayout>

3 个答案:

答案 0 :(得分:9)

这样做:

double S0 = Double.parseDouble(textS0.getText().toString());

答案 1 :(得分:1)

textS0=(EditText)findViewById(R.id.editS0);
Button btn_S0=(Button)findViewById(R.id.getS0);

btn_S0.setOnClickListener(new View.OnClickListener() 
{
public void onClick(View v)
{

           double S0 = Double.parseDouble(textS0.getText().toString());
}
});

答案 2 :(得分:0)

你可能在字符串中遇到空指针异常,所以试试这个....

  1. 使用此

    从edittext获取十进制数
       Double BText=ParseDouble(String.valueOf(edittext.getText()));
    
  2. 之后粘贴此代码..它会阻止您从空指针异常

    double ParseDouble(String strNumber) {
    if (strNumber != null && strNumber.length() > 0) {
        try {
            return Double.parseDouble(strNumber);
        } catch(Exception e) {
            return -1;
        }
    }
    else return 0;
    }