我正在使用我的自定义键盘,其中我有0到9而“。”表示十进制。导致输入浮动值,但是当我尝试从edittext app读取值时崩溃。
来自示例应用程序我已经采取了这个
<Key
android:codes="8226"
android:keyLabel="."
android:keyWidth="20%p" />
但我认为这不是正确的句号或小数(见12至45之间)(即12.45)。
String str ="12.56"
double num = Double.parseDouble(str);
这给出了正确的结果。
但是此代码导致崩溃。
String str =edittext.getText().toString();
double num = Double.parseDouble(str);
任何人都可以提供帮助。
答案 0 :(得分:0)
java.lang.NumberFormatException:无效的长
"12.56"
不是long
,您无法将其解析为long
。其次,如果您使用Long.parseLong()
,则会抛出此异常。发布的代码和异常消息之间的某些内容不同步。同时trim() String
以消除额外的空格。
答案 1 :(得分:0)
使用String str =edittext.getText().toString();
String str =edittext.getText().toString().trim();
它应该有用。基本上你需要修剪字符串。