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