【发布时间】:2018-09-13 15:03:57
【问题描述】:
所以,我是 javafx 的新手,我试图使用文本字段来接收一个字符串,然后,如果可能的话,使用 try catch 将字符串转换为双精度。我遇到的唯一问题是,如果我输入一个小数,例如 1000.56,catch 就会激活,并且我的错误标签会弹出,说它不能接受字符串。这是相关的代码块,请假设我已经完成了所有正确的导入和变量的所有基本设置。
//takes in the users input and trims spaces
holder[i] = txtFld.getText().trim();
while(run == false) {
try {
//attempts to parse the stripped text to a double
amt[i] = Double.parseDouble(holder[i]);
//allows the loop to break
run = true;
}catch(NumberFormatException ex) {
txtFld.setText("");
//tells the user about the error
grid.add(Err, 0, 3);
}
}
【问题讨论】:
-
您是否打印出
holder[i]的值以确保您传递给parseDouble的内容实际上是"1000.56"? -
天哪;我觉得非常愚蠢。我有它,所以在那个提示之后,另一个使用相同的文本字段出现了,我不小心把清除它的东西放在了开头。