【问题标题】:How do I convert the value of a TextView to integer如何将 TextView 的值转换为整数
【发布时间】:2016-04-01 14:21:42
【问题描述】:

我正在设计一个基本的 BMI 计算器,并且我的计算器正在工作,但我需要将计算得到的答案从一个双精度的 TextView 转换为一个整数,以使我能够根据计算得到的答案使用 运算符进行正确的陈述。
如何将 TextView 中的答案转换为整数?

    v.findViewById(R.id.bmi).setOnClickListener(this);

    return v;
}

public void onClick(View v) {

    switch (v.getId()) {

        case R.id.bmi:

            try {


                EditText w = (EditText) getView().findViewById(R.id.w);
                String value = w.getText().toString();
                EditText h = (EditText) getView().findViewById(R.id.h);
                String value1 = h.getText().toString();

                TextView ans = (TextView) getView().findViewById(R.id.ans);
                Double l1 = Double.parseDouble(value);
                Double l2 = Double.parseDouble(value1);
                ans.setText(Double.toString(l1 / (l2 * l2)));                                     

            }
            catch (Exception e)
            {
                new AlertDialog.Builder(getActivity()).setNeutralButton("OK",null).setMessage("ALL FIELDS ARE REQUIRED TO COMPUTE YOUR BMI! ").show();
                break;
            }

    }

}
}

【问题讨论】:

  • 您已经在使用双打做类似的事情:Double l1 = Double.parseDouble(value);。如果您想要整数,请执行int l1 = Integer.parseInt(value);
  • 我不明白,你的代码没有任何问题。为什么不计算好后保存答案?问题不清楚。
  • 代码运行良好,这里的问题是我需要使用一些运算符根据结果编写一些条件语句,这只有在我将计算的答案从 double 转换为 int 时才有效
  • 好吧,那你为什么不把你的答案从 Double 转换为 Integer?
  • 当我使用整数应用程序崩溃时,因为用户也输入带小数的数字

标签: android textview numeric-conversion


【解决方案1】:

首先,从textviewint 的转换不是。 textView 不是数据类型。如果您希望 int 中的结果使用 parseInt() 方法。 int i = Integer.parseInt(value).

[编辑]

试试这个,这会奏效。

TextView tv = (TextView) findViewById(R.id.tv);
EditText et = (EditText) findViewById(R.id.et);

try {
double d = Double.valueOf(String.valueOf(et.getText()));
tv.setText(String.valueOf( (int) d));
}catch (NumberFormatException e){
Toast.makeText(MainActivity.this, "Enter valid number.", Toast.LENGTH_SHORT).show();
}

为了您的理解,我已对其进行了简化。代码仍然可以优化。

【讨论】:

  • 当用户使用带小数的数字时应用程序崩溃,因为整数是整数
  • 您能否将崩溃报告(日志)添加到答案中。
  • 12-27 16:20:38.291 2012-2012/com.bosolutions.bmical E/AndroidRuntime: java.lang.NumberFormatException: Invalid int: "6.8" 错误来自日志中的那一行当我使用 int
  • 如果有人输入像“abc”而不是数字这样的字符输入也会小心
  • 我刚刚解决了 double 的答案,并使用 putextra 将 textview 的内容传输到另一个 activity 中的 textview 。对此我很满意。
猜你喜欢
  • 1970-01-01
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
  • 1970-01-01
相关资源
最近更新 更多