android - Android中将两个float和integer类型的值相加的方法

标签 android casting integer android-edittext floating

小型Android应用,执行加法等基本操作,OnClick()如下

@Override
public void onClick(View v) {
    switch (v.getId()) {
           case R.id.btnAdd: 
           isValidToProcess(1);
           break;
           ......
           /*Switch continues for all other operations like Subtraction,etc*/
    }
}

我的isValidToProcess()如下

private boolean isValidToProcess(int a) {
    String num1 = mEdit1.getText().toString();
    String num2 = mEdit2.getText().toString();

    if (num1.matches("") || num2.matches("")) 
    {
        ValueEmptyWarning();
    }
    else {
        float numa = Float.parseFloat(num1);
        float numb = Float.parseFloat(num2);
        switch (a) {

        case 1:
            addition(numa, numb);
            break;
              ......
           /*Switch continues for all other operations like Subtraction,etc*/
    }
}

我的addition() 函数

public void addition(float numa, float numb) {
    answer = numa + numb;
    mEdit3.setText(String.valueOf(answer));
    Log.v(TAG, "Error at Subtraction");
}

这个程序对 FloatInteger 数字工作正常,但问题是,对于 Integer 和 Float 值,答案都是分数,例如 Number1=2Number2=3 以及 answer=5.0

目的:如果用户输入整数,小数点不应该在那里。

是否可以获取用户在 EditText 上输入的值类型?

最佳答案

首先检查 Integer.parseInt(numer) 并捕获 NumberFormatException 。如果它能正确解析它,那么它就是一个整数,否则你可以使用 float。

关于android - Android中将两个float和integer类型的值相加的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20512500/

相关文章:

java - Android 如何加载图像(Glide)并在有人直接点击按钮时显示它

android - E/CRASH(7870) : signal 11 (SIGSEGV), 代码 1 (SEGV_MAPERR),故障地址 0000007c2f67f818

c++ - 访问 union 成员需要类型转换吗?

c# - 如何检测一个对象是否属于泛型 List 类型并转换为所需的类型?

Python错误: Int object not subscriptable

Delphi 属性读/写

android - 在 PreferenceActivity 中更改 fragment 的突出显示和标题颜色

android - 期待 Android Espresso 测试中出现异常 - 失败

c# - 未知类型的动态转换以进行序列化

c++ - 在带有整数的控制台中显示无关紧要的数字