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而不是来自产品类,我有一个错误。
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之前将其发送给您。