Android - NumberFormatException - 用于输入String

时间:2017-08-14 11:14:10

标签: android numberformatexception

我在firebase数据库中保存数据,我想显示它。这有效,但当我说textview.setText(“Bla”+ object)时我得到一个例外;由于result1和result2变量发生异常,但我不知道如何解决这个问题。它发生在setBias方法中。

public static class BetViewHolder extends RecyclerView.ViewHolder {
    TextView bias, foodEp, profit;
    View resultColor;
    double result1;
    double result2;
    double result;

    public BetViewHolder(View itemView) {
        super(itemView);
        bias= (TextView) itemView.findViewById(R.id.bias);
        foodEp= (TextView) itemView.findViewById(R.id.food);
        profit= (TextView) itemView.findViewById(R.id.profit);
    }

    public void setBias(String biasFoll) {
        bias.setText("Bias: " + biasFoll);
        result1 = Double.parseDouble(bias.getText().toString());
    }

    public void setFoodEp(String foodEpsa) {
        foodEp.setText(foodEpsa);
        result2 = Double.parseDouble(foodEp.getText().toString());
        result = result1 * result2;
        profit.setText(String.valueOf(result));
    }

4 个答案:

答案 0 :(得分:1)

我有两个想法:

1)您应该使用result1 = Double.parseDouble(bias.getText().toString());更改result1 = Double.parseDouble(biasFoll);

2)围绕你的“result1 = Double.parseDouble(bias.getText()。toString());”使用try {} catch (NumberFormatException e) {}并将一些默认值设置为result1

答案 1 :(得分:1)

您正在尝试将String转换为Double:

bias.setText("Bias: " + biasFoll);
result1 = Double.parseDouble(bias.getText().toString());

这是不可能的,这就是你获得NumberFormatException的原因。

答案 2 :(得分:1)

使用以下

记住你的字符串必须是一个数值

bias.setText( biasFoll);

result1 = Double.parseDouble(bias.getText().toString().trim());

答案 3 :(得分:1)

你无法将字符串branches: except解析为double,我已经对你的方法进行了一些修改并尝试

bias 88