确定editText中的内容是否为"。"只要

时间:2013-11-14 23:35:01

标签: android android-edittext

我写了一个计算器类型的应用程序。我的伙伴发现只在editText中输入单个小数点会导致应用程序崩溃。十进制数和整数工作正常,但在输入.时我得到一个数字格式异常。

我想检查一个.是否已放置在editText中,以便我显示一个告诉用户停止尝试使应用崩溃的Toast。

我的问题是.没有数值......

2 个答案:

答案 0 :(得分:1)

您可以将其包装在try/catch中,在解析文本时无论如何都应该这样做。像

这样的东西
    try
    {
        int someInt = Integer.parseInt(et.getText().toString());
        // other code
    }
    catch (NumberFormatException e)
    {
        // notify user with Toast, alert, etc...
    }

这样它可以防止任何数字格式异常,并使代码在以后更加可重用。

答案 1 :(得分:0)

您可以通过以下方式将.1视为0.1。

String text = et.getText().toString();
int len = text.length();

// Do noting if edit text just contains a "." without numbers
if(len==0 || (len==1 && text.charAt(0).equals(".")))
    return;

if(text.charAt(0).equals(".") && text.length() > 1) {
    text = "0" + text;
}
// Do your parsing and calculations