似乎是一个非常简单的问题,但是我无法从jtextfield中读取双重内容。我可以使用getText()轻松读取字符串;但没有双重运气。
我的目标是在双重执行中读取它然后在按下提交按钮后将其重新显示给用户...动作监听器工作正常并使其看起来更简单我没有添加它in ...如果它有帮助我可以添加它。
if (e.getSource() == submit)
{
cashRecieved = CashNeeded.getText();
}
cashRecieved是double类型,因此eclipse抱怨说可以理解它无法将字符串存储到double ....
答案 0 :(得分:4)
您需要将String转换为double。为此,请使用parseDouble方法:
cashRecieved = Double.parseDouble(CashNeeded.getText());
返回double(primitive)类型,而valueOf返回Double类的类型。
编辑:
正如Ingo所提到的,您应该确保在尝试将无效字符串(例如:“Hello123”)解析为数字时发生的NumberFormatExceptions。
try {
cashRecieved = Double.parseDouble(CashNeeded.getText());
} catch (NumberFormatException e) {
e.printStackTrace();
// handle the error
}
答案 1 :(得分:1)
double d = Double.valueOf(CashNeeded.getText());
你不应该大写变量名称(我假设CashNeeded是一个)。