Java 检测EditText是否仅包含小数点
我有一个单位转换器应用程序。一切正常,但我唯一的问题是,如果用户在EditText中只输入一个小数点“”,并尝试将一个参数转换为另一个参数,应用程序就会崩溃 我如何检测是否只输入了一个小数点(即没有数字;如Java 检测EditText是否仅包含小数点,java,android,android-edittext,Java,Android,Android Edittext,我有一个单位转换器应用程序。一切正常,但我唯一的问题是,如果用户在EditText中只输入一个小数点“”,并尝试将一个参数转换为另一个参数,应用程序就会崩溃 我如何检测是否只输入了一个小数点(即没有数字;如”,“输入的是”而不是“3.03”或”.3“) 当用户试图从一个参数转换到另一个参数时,我使用下面的代码来检测EditText是否为空,但对于小数点无效 if (cel1.matches("")) { Toast.makeText(getApplicationContext(), "E
”,“输入的是”而不是“3.03”
或”.3“
)
当用户试图从一个参数转换到另一个参数时,我使用下面的代码来检测EditText是否为空,但对于小数点无效
if (cel1.matches(""))
{
Toast.makeText(getApplicationContext(), "Enter the content!",
Toast.LENGTH_LONG).show();
}
仅检查小数点:
EditText et = (EditText)findViewById(R.id.edtxt1);
if (et.getText().toString().equals("."))
{
// run your code here
}
使用您的代码:
if (cel1.equals("") || cel1.equals("."))
{
Toast.makeText(getApplicationContext(), "Enter the content!",
Toast.LENGTH_LONG).show();
}
也许您想将cel1.equals(“.”
更改为cel1.trim().equals(“.”
,以确保即使其中也有空格,条件仍然有效。不过,我不确定您是否允许在第一位使用空格。仅检查小数点:
EditText et = (EditText)findViewById(R.id.edtxt1);
if (et.getText().toString().equals("."))
{
// run your code here
}
使用您的代码:
if (cel1.equals("") || cel1.equals("."))
{
Toast.makeText(getApplicationContext(), "Enter the content!",
Toast.LENGTH_LONG).show();
}
也许您想将cel1.equals(“.”
更改为cel1.trim().equals(“.”
,以确保即使其中也有空格,条件仍然有效。不过,我不确定您是否允许在第一位使用空格。您可以检查编辑文本中是否只有小数点:
//从编辑文本中获取文本并检查它是否为点
if (editText.getText().toString().equals("."))
{
//display error message
}
您可以检查编辑文本中是否只有小数点:
//从编辑文本中获取文本并检查它是否为点
if (editText.getText().toString().equals("."))
{
//display error message
}
您可以检查以下内容:
当你询问没有数字的时,输入“.”而不是“3.03”或“.3”
您可以检查以下内容:
当你询问没有数字的时,输入“.”而不是“3.03”或“.3”
如果(cel1.equals(“)| | cel1.equals(“.”)
?请查看我的答案,并就您想要的内容给我一些反馈。如果对您有效,请接受。If(cel1.equals(“)| | cel1.equals(“.”)
?请查看我的答案,并给我一些您想要的反馈。如果它对您有效,请接受它。这甚至不会编译。为什么它不会编译?您需要将If条件用引号括起来if editText.getText().toString().equals(“.”
需要是if(editText.getText().toString().equals(“.”)
。我建议在Android/Java中创建一个“TestCode”工作区,在发布代码之前先试用一下。啊,你是对的,这只是一个习惯lol:P我想每个人都应该知道这一点,如果他们试图编写代码^^my Bad这甚至不会编译。为什么它不会编译呢?你需要将if条件用引号括起来if editText.getText().toString().equals(“.”
需要是if(editText.getText().toString().equals(“.”)
。我建议在Android/Java中创建一个“TestCode”工作区,在发布代码之前先试用一下。啊,你是对的,这只是一个习惯lol:P我想如果每个人都想编写代码,就应该知道这一点。^^^我的错,意思是只输入一个小数,而不是小数和数字。所以你的代码对他不起作用。他的意思是只输入一个小数,而不是小数和数字。所以你的代码对他不起作用。@AshwinShirva我马上就这么做了。我是第一个lol.@AshwinShirva我马上就这么做了。我是第一个哈哈。