试图在Android中相乘

时间:2016-04-06 10:44:48

标签: android textview

我试图制作一个简单的转换器,它将2.2输入的值相乘但我在将结果转换为文本视图时遇到问题。我得到的错误说'无法解决方法setText(Double)。有什么建议吗?

public void onClick(View v) {
    double result =0;
    double a = Double.parseDouble(weightEntered.getText().toString().trim());
    double b = 2.2;
    if(v == button_convert)
    {
        if(lbs_kg.isChecked() == true)
            result = (a * b);
            t1.setText(result);
        if(kg_lbs.isChecked() == true)
            t1.setText("Selected is : "+kg_lbs.getText());
    }

3 个答案:

答案 0 :(得分:4)

将您的double转换为String。

这很重要,因为setText()存在于多个重载的签名中。

您在问题中使用的签名是使用字符串资源ID!您需要首先将该数字转换为String,以便TextView知道如何正确使用它。

String str = String.valueOf(result);
t1.setText(str);

答案 1 :(得分:1)

result = (a * b);
t1.setText(String.format("%.2f", result))

使用String.format()可以控制输出值的精度。

答案 2 :(得分:0)

您需要将double值转换为字符串,因为setText()只能为其设置文本值。 更新此行

  t1.setText(result);

要  t1.setText(String.valueOf(result));