2017-10-20 209 views
0
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比來從產品類別來看,我有一個錯誤。創建一個搜索按鈕(雙人間不能轉換成字符串)近日

+0

另外考慮使用支持處理數字的'JFormattedTextField' – MadProgrammer

回答

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的使用正則表達式之前的文本進行字符串嘗試將其轉換加倍。

+0

在JTextField的情況下(實際上幾乎所有基於Document的文本組件)都不會返回null, Java 1.4或約有 – MadProgrammer

+0

和textID是類型... ??? – Doleron

+0

公平點..... – MadProgrammer