【问题标题】:Making the data from the csv file double when put in the Textbox将 csv 文件中的数据放入文本框时使数据加倍
【发布时间】:2017-04-01 16:50:46
【问题描述】:

txtRate.setText(emp.getRate());

我无法在文本框中显示 csv 文件中的数据,因为它一直在说

double 无法转换为 java.lang.String。 我的方法是 public Double getRate() 如果我尝试将其设为公共字符串,它会起作用,但我不能使用该值进行计算,因为它已经被设置 转字符串

【问题讨论】:

  • 还可以考虑将`Double getRate()`改为`double getRate()`

标签: java


【解决方案1】:

您正在处理的类包含签名为setText(String value) 的方法,但没有签名为setText(Double value) 的方法。

当您调用方法时,编译器会检查参数类型并尝试识别在这种情况下应该使用哪种方法。

当您使用Double 类型作为参数时,编译器无法找到签名为setText(Double value) 的方法,您会收到您在问题中报告的错误。

要解决此问题,请将参数从 Double 转换为 String 类型,然后再将其传递给 setText 方法。

txtRate.setText(String.valueOf(emp.getRate()));

txtRate.setText(emp.getRate().toString());

但是如果emp.getRate()返回null,第二种方法可能会抛出NullPointerException,所以第一种方法更安全。

如果您想以一种奇特的方式格式化您的数字,请考虑本教程:https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

【讨论】:

  • 我只是希望它保持双精度而不是转换为字符串。因为我需要它来计算。我不能将字符串和整数相加。我怎样才能让它保持双倍?
  • 您将 Double 转换为 String 只是为了将其放入文本框。您的 getRate() 方法返回 Double,您也可以将其用于计算。
  • 如果我的解释不清楚,请随时提出更多问题。
  • 你有五金店示例程序吗?
  • 不,抱歉,我没有这样的示例应用程序。如果仍有不清楚的地方,请提出更多问题。
【解决方案2】:

在文本框上显示数据需要变量是字符串,但是计算需要变量是双倍的答案是当显示转换为字符串时,计算时不需要

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 2017-03-29
    • 2023-01-15
    相关资源
    最近更新 更多