如果输入浮点值,则EditText不会获取值

时间:2014-12-02 05:46:45

标签: java android

这是我的代码

if(numberbyUser.getText().toString().equals(""))
{
    //Toast.makeText(getApplicationContext(), "Please Enter a Number", Toast.LENGTH_SHORT).show();
    message = "Please Enter a Number !!";
    DialogFunction();
}

如果我输入一个例如:1.5代码进入上面的循环。但对于非十进制代码的值,只能正常工作。

有人可以告诉我哪里出错了?

3 个答案:

答案 0 :(得分:0)

你可以发布你的edittext的XML ...你可能设置了 的inputType ="数"而不是"十进制......"

<EditText
    android:id="@+id/phone"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="decimal" />

将inputType属性更改为&#34;十进制&#34;

答案 1 :(得分:0)

我建议将EditText字段设为文本android:inputType="text",然后进行转换。试试这个:

    String sNumberByUser = numberbyUser.getText().toString();
    Double number = 0.0;

    try{
        if(!sNumberByUser.equals("")){
            // This will accept decimal and non-decimal number
            number = Double.parseDouble(sNumberByUser);

            //do your process here

        }else{
            throw new NumberFormatException();
        }

    //Catch if not a number.
    }catch(NumberFormatException nfe){
        message = "Please Enter a Number !!";
        DialogFunction();
    }

答案 2 :(得分:0)

if(numberbyUser.getText().length() > 0) {
     String numberString = numberByUser.getText().toString();
     Double number = Double.parseDouble(numberString);
     //To operation with entered number.
} else {
     message = "Please enter number.";
     DialogFunction();
}

在你的布局中添加 android:inputType =&#34; numberDecimal&#34;

希望这会对你有所帮助。