这是我的代码
if(numberbyUser.getText().toString().equals(""))
{
//Toast.makeText(getApplicationContext(), "Please Enter a Number", Toast.LENGTH_SHORT).show();
message = "Please Enter a Number !!";
DialogFunction();
}
如果我输入一个例如:1.5代码进入上面的循环。但对于非十进制代码的值,只能正常工作。
有人可以告诉我哪里出错了?
答案 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;
希望这会对你有所帮助。