我正在android中开发一个可编程计算器。我正在以charsequence的形式获得用户输入,然后我将其转换为字符串。但在我将它们放入堆栈之前我必须检查输入是整数还是符号。
我基本上来自C ++背景。所以我在找到合适的功能来完成这项工作时遇到了问题。任何帮助将不胜感激。
答案 0 :(得分:4)
两种可能的解决方案:
Integer.valueOf()
,并捕获抛出的异常[NumberFormatException] - 如果它不是
号。第一个最有可能比第二个
更有效率答案 1 :(得分:0)
不允许用户在文本框(Edittext)中输入文本和特殊字符。当用户在文本框中输入数字时,将该数字转换为整数,如下所示 Integer.parseInt( yourstring); 强>
答案 2 :(得分:0)
如果用户未输入数字,您需要我们Integer.parseInt
并抓住相应的NumberFormatException
:
try
{
// the String to int conversion happens here
int i = Integer.parseInt(s.trim());
// print out the value after the conversion
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
答案 3 :(得分:0)
可以通过[+ - ]?\ d *
匹配此正则表达式的输入有效性