Android - NumberFormatException - 对于输入字符串
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));
}
我有两个想法:
1) Mb 你应该把 result1 = Double.parseDouble(bias.getText().toString());
改成 result1 = Double.parseDouble(biasFoll);
?
2) 用 try {} catch (NumberFormatException e) {}
包围你的 "result1 = Double.parseDouble(bias.getText().toString());" 并将一些默认值设置为 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
解析为 double,我已对您的方法进行了一些更改,查看它并尝试
public void setBias(String biasFoll) {
bias.setText("Bias: " + biasFoll);
result1 = Double.parseDouble(biasFoll);
}
我正在将数据保存在我的 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));
}
我有两个想法:
1) Mb 你应该把 result1 = Double.parseDouble(bias.getText().toString());
改成 result1 = Double.parseDouble(biasFoll);
?
2) 用 try {} catch (NumberFormatException e) {}
包围你的 "result1 = Double.parseDouble(bias.getText().toString());" 并将一些默认值设置为 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
解析为 double,我已对您的方法进行了一些更改,查看它并尝试
public void setBias(String biasFoll) {
bias.setText("Bias: " + biasFoll);
result1 = Double.parseDouble(biasFoll);
}