Android值从自定义键盘键读取。给出java.lang.NumberFormatException:无效的double

时间:2013-07-04 09:54:18

标签: android android-softkeyboard

我正在使用我的自定义键盘,其中我有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);

任何人都可以提供帮助。

2 个答案:

答案 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();

它应该有用。基本上你需要修剪字符串。