将字符串转换为double的问题?

时间:2015-02-15 13:38:08

标签: java

尝试将输入作为字符串读入,然后将其转换为double以计算grossPay,我收到的错误表示无法将字符串转换为double。

public class EmployeeTest
{   
public static void main(String args[])
{

    String workerName;
    String hoursWorked;
    String hourlyPay;
    String grossPay;

    String isQuit;
    String message;

    workerName = JOptionPane.showInputDialog("Enter first name");

    while(!workerName.equals("QUIT"))
    {

        hourlyPay = JOptionPane.showInputDialog("Enter hourly pay");
        hoursWorked = JOptionPane.showInputDialog("Enter hours worked");
        grossPay = Double.parseDouble(hourlyPay)*Double.parseDouble(hoursWorked);


        Employee a1 = new Employee(workerName, hoursWorked, hourlyPay, grossPay);

2 个答案:

答案 0 :(得分:1)

错误实际上应该是"无法从double转换为String",因为grossPay的类型为String。要将double转换为String,您可以使用String#valueOf(double),但更好的解决方案是将变量的类型更改为double

double grossPay;

其他变量也应更改其类型以反映其值:

int hoursWorked;
double hourlyPay;

请注意,这需要更改Employee的构造函数以使用正确的类型。

答案 1 :(得分:1)

不应该这样:

Double grossPay;