0

我正在使用我的自定义键盘,其中我有 0 到 9,“.”表示十进制。导致输入浮动值,但是当我尝试从 edittext 应用程序读取值时崩溃。

从示例应用程序中,我采取了这个

<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);

任何人都可以提供帮助。

4

2 回答 2

0

改变String str =edittext.getText().toString();这个String str =edittext.getText().toString().trim();

它应该工作。基本上你需要修剪字符串。

于 2013-07-04T09:56:31.217 回答
0

java.lang.NumberFormatException:无效的长

"12.56"不是long,您无法将其解析为long. 其次,如果使用Long.parseLong(). 发布的代码和异常消息之间有些不同步。还trim()String摆脱多余的空格。

于 2013-07-04T09:56:08.870 回答