Java中字符串到双精度的转换

Java中字符串到双精度的转换,java,string,casting,double,Java,String,Casting,Double,我在编译程序时遇到了一个错误。唯一的问题是它需要一个double,而我有一个字符串。我试图将其转换为两个变量的双变量,但这似乎不起作用。任何帮助都将不胜感激。以下是该问题的代码行。Qualitypoint和SumofHour都是整数,GPA是双精度的。错误在第三行 DecimalFormat df = new DecimalFormat("0.00"); //GPA = (qualityPoints / sumOfHours); GPA = df.format (((double)quality

我在编译程序时遇到了一个错误。唯一的问题是它需要一个double,而我有一个字符串。我试图将其转换为两个变量的双变量,但这似乎不起作用。任何帮助都将不胜感激。以下是该问题的代码行。Qualitypoint和SumofHour都是整数,GPA是双精度的。错误在第三行

DecimalFormat df = new DecimalFormat("0.00");
//GPA = (qualityPoints / sumOfHours);
GPA = df.format (((double)qualityPoints) /(double)(sumOfHours));
错误代码:

GPACalculator.java:123: error: incompatible types
GPA = df.format (((double)qualityPoints) /(double)(sumOfHours));
                  ^
required: double
found:    String
1 error

谢谢你的帮助

GPA=Double.parseDoubledf.format doublequalityPoints/doublesumofh

    int qualityPoints = 0;
    int sumOfHours = 0; 
    double GPA = 0;

    DecimalFormat df = new DecimalFormat("0.00");
    GPA = Double.parseDouble(df.format (((double)qualityPoints) /(double)(sumOfHours)));

没有编译错误。

考虑到qualityPoints字符串中有一个有效的double值,您可以尝试使用double.valueOfString的方法:

这行吗

GPA = df.format ( Double.valueOf(qualityPoints) / Double.valueOf(sumOfHours) );

我已经试过了,但仍然不能解决问题。你现在犯了什么错误?另外,你能提供这些变量的声明吗?是的,我会的,我在我的描述中做了:int qualityPoints=0;int sumof小时=0;双GPA=0;什么是qualityPoints和sumOfHours?在这段代码中,您没有将字符串转换为Double,而是将Double转换为字符串。问题在于,您试图将字符串转换为double而不是double-1因为我不知道你在说什么。不,我知道我在转换什么,这是我的一个输入错误。它仍然给了我完全相同的错误。@codeFinatic对sumOfHours执行相同的操作variabledf.format将返回字符串,因此无法直接分配给GPA。该格式将返回字符串,因此,如果GPA被声明为double,那么结果也需要转换为double。不,它不是。它给出了我在原始帖子中发布的确切错误。
GPA = df.format ( Double.valueOf(qualityPoints) / Double.valueOf(sumOfHours) );