我在xml中有一个。
<EditText
android:id="@+id/creditlimitfield2"
android:hint="0"
android:inputType="numberDecimal" />
因此,EditText的默认值为0。
在代码中,我有这个
creditlimit = (EditText) findViewById(R.id.creditlimitfield2);
double credit_limit = Double.valueOf(creditlimit.getText().toString());
另外,我尝试过:
double credit_limit = Double.parseDouble(creditlimit.getText().toString());
和
double credit_limit = new Double(creditlimit.getText().toString());
运行程序时,它给出了
的错误Numberformatexception. Invalid double "".
请注意,该字段不是空的。任何建议都会有所帮助。
我看到了许多与之相似的问题,答案较少,没有一个可以帮助解决我的病情。因此,请不要在不检查其他问题的情况下将其标记为"类似问题"。
getText()
不会返回 android:hint
中的值。因此,您正在尝试将一个空字符串转换为double。改用android:text
属性。
<EditText
android:id="@+id/creditlimitfield2"
android:text="0"
android:inputType="numberDecimal" />
看起来creditlimit.getText().toString()
没有返回有效的双重值。确保您在EditText
中输入有效的双重。
Numberformatexception. Invalid double ""
空字符串不是有效的双重。
也我想您只是在初始化之后确保您从deDittext上单击" deDittext"或 onResume
double credit_limit = Double.valueOf(creditlimit.getText().toString())
如果您想要默认值遵循Blackbelt的帖子。
尝试此
Sting limit=creditlimit.getText().toString();
double credit_limit =0;
if(limit!=null && !limit.isEmpty()){
credit_limit = Double.parseDouble(limit);
}