创建搜索按钮(Double无法转换为String)

时间:2017-10-20 01:59:59

标签: java jframe

private void searchProduct()
{ 
try {
     Product p = new Product();
     //Read data
     p.setId(Double.parseDouble(textID.getText()));

     //Display data
     textDescription.setText(String.valueOf(p.getDescription()));
     textPrice.setText(String.valueOf(p.getUnitPrice()));
     textUOM.setText(String.valueOf(p.getUnitOfMeasurement()));
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(this.frame, "ID must be number", "Error",JOptionPane.ERROR_MESSAGE);
} 
}

你好,我最近试了一个按钮"搜索"找到一个等于ID的产品,但我不知道如何解析ID而不是来自产品类,我有一个错误。

1 个答案:

答案 0 :(得分:0)

textID.getText()实际上是一个可解析的双字符串吗?例如“10.1”,但“10.1”没有。

我总是使用trim()进行此类转换以删除这些额外的空格,如下所示:

String stringValue = textID.getText();
if(stringValue != null) {
    stringValue = stringValue.trim();
}
double doubleValue = Double.parseDouble(stringValue);

在这里http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-如何避免NumberFormatException使用正则表达式在尝试将其转换为double之前对字符串发送文本。