检查空间输入

时间:2011-12-11 19:08:59

标签: android

我已经创建了一个离线货币转换器,它使用TextWatcher获取EditText部分中的用户输入并从方法中返回所需的ouptut ...并且我已经使它成为用户无法插入“null”的方式“在EditText部分中的值然后按下转换按钮,使用euro.getText!== null例如。但是当用户在输入之间留出一些空格时,我不知道如何继续,例如29 50.这将让我的程序崩溃。我的问题是我应该用什么来检查带空格的输入以避免程序崩溃?谢谢。

2 个答案:

答案 0 :(得分:2)

您的程序因数字格式异常而崩溃。你可以这样做:

try{
    double value = Double.parseDouble(editText.getText().toString());
} catch(NumberFormatException ex){
    Log.e(TAG, "improper number format");
    //show some dialog saying what's the format that should be entered
}

你也可以使用正则表达式:

String editTextValue = editText.getText().toString();
if(editTextValue.matches("\\d+\\.\\d+")){
    double value = Double.parseDouble(editTextValue);
} else{
    //show dialog saying what should be the format.
}

答案 1 :(得分:1)

这实际上非常简单。 您的应用是否接受带逗号或点的数字?无论哪种方式,您只需使用以下内容将String替换为您选择的符号:

String unspaced = edittext.getText().toString().replace(' ', '.'); // or ,  depending on what your app uses