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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建搜索按钮(Double无法转换为String)相关的知识,希望对你有一定的参考价值。

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之前将其发送给您。

以上是关于创建搜索按钮(Double无法转换为String)的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何把string类型转换为double类型?

无法在 Swift 中将 String 转换为 Double [重复]

无法将“String”类型的值转换为预期的参数类型“TimeInterval”(又名“Double”)

LINQ to Entities 无法识别方法 'Double Parse(System.String)' 方法,并且此方法无法转换为存储表达式

LINQ to Entities 无法识别方法“Double Parse(System.String)”无法转换为存储表达式 C# asp.net [重复]

在 swift 中将 String 类型数组转换为 Float 类型数组 不能将类型 'String' 的值分配给类型 'Double' 的下标。