gpt4 book ai didi

java - 如何获取变量类型?

转载 作者:行者123 更新时间:2023-12-01 17:24:49 24 4
gpt4 key购买 nike

在我的应用程序中,我有两个文本字段和一个提交字段。该应用程序计算此文本字段中的整数值。但如果我在那里放文字 - 就会出错。我如何检查此文本字段中的 int 以及如何在没有整数时显示消息。我的尝试:

EditText num1text=(EditText)findViewById(R.id.num1text);
EditText num2text=(EditText)findViewById(R.id.num2text);
Float num1=Float.parseFloat(num1text.getText().toString());
Float num2=Float.parseFloat(num2text.getText().toString());

if (num1 instanceof Float && num2 instanceof Float)
{
Float answ = (num1 * num2) / 100;
TextView answer=(TextView)findViewById(R.id.ans);
answer.setText(answ);
}else
answer.setText("Message");

但在其他情况下我的应用程序仍然不显示我的消息。

最佳答案

正如其他一些人评论的那样,您可以在开始转换输入字段的内容之前使用正则表达式来检查它们。这是一个很好的建议,您应该在使用前清除所有用户输入。

如果您不这样做,或者不能:如果输入无法转换,Float.parseFloat() 操作会抛出 NumberFormatException。您需要使用 try...catch 构造来避免这种情况。

try {
Float num1=Float.parseFloat(num1text.getText().toString());
Float num2=Float.parseFloat(num2text.getText().toString());
Float answ = (num1 * num2) / 100;
TextView answer=(TextView)findViewById(R.id.ans);
answer.setText(answ);
} catch (NumberFormatException e) {
TextView answer=(TextView)findViewById(R.id.ans);
answer.setText("Message");
}

此外,您可以在布局 XML 中使用 android:inputType 属性将输入限制为仅数字(并获取数字键盘)。

关于java - 如何获取变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15849347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com