不能将getText()用于double但要使用什么?

时间:2017-12-24 11:30:25

标签: java

我需要我的程序将textField_price中的文本设置为产品的价格,但我得到的只是错误。似乎p.getPrice()不起作用,但我不知道如何解决它?尝试了很多方法......我明白这是setText错了,因为我正在处理一个双精度而不是一个字符串,但我不知道该怎么做???

    String productName = textField_productName.getText();

    Product p = controller.findProduct(productName);
    if (productName.isEmpty())
        textArea_product.setText("Vänlig fyll i produktnamn.");

    else if (p != null) {
        textField_productName.setText(p.getProductName());
        textField_kategory.setText(p.getKategory())
        textField_price.setText(p.getPrice());

        textArea_product.setText("Produkten " + p.getProductName().toUpperCase() + " hittad.");
    } else {
        textField_price.setText("---");
        textField_kategory.setText("---");
        textArea_product.setText("Produkten med produktnamnet " +  productName  + " hittas ej");
    }
}

3 个答案:

答案 0 :(得分:0)

您可以在设置前将数字转换为字符串:

textField_price.setText(String.valueOf(p.getPrice()));

答案 1 :(得分:0)

您需要将double投射到String

textField_price.setText(String.valueOf(p.getPrice()));

答案 2 :(得分:0)

首先将双变量转换为字符串,如下所示:

textField_price.setText(String.valueOf(p.getPrice()));