[英]Android - NumberFormatException - For input String
我正在将数据保存在我的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));
}
我有2个主意:
1)Mb您应该更改result1 = Double.parseDouble(bias.getText().toString());
结果为result1 = Double.parseDouble(biasFoll);
?
2)包围您的“ result1 = Double.parseDouble(bias.getText()。toString());” 使用try {} catch (NumberFormatException e) {}
并将一些默认值设置为result1
您正在尝试将String转换为Double:
bias.setText("Bias: " + biasFoll);
result1 = Double.parseDouble(bias.getText().toString());
那是不可能的,这就是为什么要获取NumberFormatException
的原因。
使用以下
记住您的字符串必须包含数字值
bias.setText( biasFoll);
result1 = Double.parseDouble(bias.getText().toString().trim());
您无法将字符串bias 88
解析为两倍,我对您的方法进行了一些更改,然后尝试
public void setBias(String biasFoll) {
bias.setText("Bias: " + biasFoll);
result1 = Double.parseDouble(biasFoll);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.