从java jtextfield读取双精度
这似乎是一个非常简单的问题,但我无法从jtextfield中读取双精度文本。我可以使用getText()轻松地读取字符串;但是双倍的运气不好 我的目标是在double中读取并对其执行减法,然后在按下提交按钮后将其重新显示给用户…Action listener工作正常,为了使其看起来更简单,我没有添加它…如果有帮助,我可以添加它从java jtextfield读取双精度,java,swing,double,jtextfield,Java,Swing,Double,Jtextfield,这似乎是一个非常简单的问题,但我无法从jtextfield中读取双精度文本。我可以使用getText()轻松地读取字符串;但是双倍的运气不好 我的目标是在double中读取并对其执行减法,然后在按下提交按钮后将其重新显示给用户…Action listener工作正常,为了使其看起来更简单,我没有添加它…如果有帮助,我可以添加它 if (e.getSource() == submit) { cashRecieved = CashNeeded.
if (e.getSource() == submit)
{
cashRecieved = CashNeeded.getText();
}
CashReceived的类型是double,因此eclipse抱怨说它无法将字符串存储到double
double d = Double.valueOf(CashNeeded.getText());
您不应该将变量名大写(我假设CashNeeded就是其中之一)
您不应该将变量名大写(我假设cashRequired是一个)。您需要将字符串转换为双精度。为此,请使用parseDouble方法:
cashRecieved = Double.parseDouble(CashNeeded.getText());
它返回类型double(primitive),而valueOf返回类double的类型
编辑:
正如Ingo所提到的,当您试图将无效字符串(例如:“Hello123”)解析为数字时,您应该确保注意发生的NumberFormatException
try {
cashRecieved = Double.parseDouble(CashNeeded.getText());
} catch (NumberFormatException e) {
e.printStackTrace();
// handle the error
}
您需要将字符串转换为双精度。为此,请使用parseDouble方法:
cashRecieved = Double.parseDouble(CashNeeded.getText());
它返回类型double(primitive),而valueOf返回类double的类型
编辑:
正如Ingo所提到的,当您试图将无效字符串(例如:“Hello123”)解析为数字时,您应该确保注意发生的NumberFormatException
try {
cashRecieved = Double.parseDouble(CashNeeded.getText());
} catch (NumberFormatException e) {
e.printStackTrace();
// handle the error
}
另外,注意NumberFormatException还有,注意NumberFormatException还有,注意NumberFormatException还有,注意NumberFormatException您可以尝试使用JSpinner或JFormattedTextField您可以尝试使用JSpinner或JFormattedTextField