Java Double.toString(2.0)不是;2.0“;在爪哇?

Java Double.toString(2.0)不是;2.0“;在爪哇?,java,Java,我正在从事一个Java项目。这是一个简单的二次公式代码。但是当我想把我的双精度值转换成字符串(在ax^2+bx+c中,a=1.0,b=0和c=-4.0)。我的考试失败了。我试图找出哪里出了问题。我找到了它的位置,显然是Double.toString(x)whereDouble x=2.0,没有返回“2.0”。于是我尝试了String.valueOf(x),但也没有成功。然后我简单地输入了“2.0”`并通过了测试用例 我哪里出错了?还是Java讨厌我 编辑: 哇,你们这些家伙,评论得这么快。任何建

我正在从事一个Java项目。这是一个简单的二次公式代码。但是当我想把我的双精度值转换成字符串
(在ax^2+bx+c中,a=1.0,b=0和c=-4.0)
。我的考试失败了。我试图找出哪里出了问题。我找到了它的位置,显然是
Double.toString(x)
where
Double x=2.0
,没有返回
“2.0”。于是我尝试了
String.valueOf(x)
,但也没有成功。然后我简单地输入了
“2.0”`并通过了测试用例

我哪里出错了?还是Java讨厌我

编辑: 哇,你们这些家伙,评论得这么快。任何建议都会有帮助,包括与原始主题无关的内容(重复的语法或其他)

注意:正如我的故事所说,我唯一更改的是Double.toString(x1)到“2.0”,当内容为“1.0-4.0”时,它通过了我的测试用例

公共类求积公式{
公共字符串求积公式(字符串内容){
//**
*内容应为“a b c”格式的字符串,否则将
*返回一个空字符串。
*返回“”表示内容输入不正确。
*返回格式为“x1和x2”的字符串,其中x1和x2是
*二次公式的答案。
*/
试一试{
int m=content.indexOf(“”);
int n=content.indexOf(“,m+1);
如果(m==-1 | n==-1){
返回“”;
}
double a=double.parseDouble(content.substring(0,m));
double b=double.parseDouble(content.substring(m+1,n));
double c=double.parseDouble(content.substring(n+1));

如果(b*b只需使用以下代码将双精度值转换为字符串:

String doubleString=new DecimalFormat("#0.00").format(doubleValue);

DecimalFormat
来自
java.text
软件包。

你能告诉我们你正在运行的代码吗?你得到了什么结果?欢迎使用Stackoverflow。请提供你使用的代码,因为一个简单的
System.out.println(Double.toString(2.0))
生成了2.0。我的最佳猜测是您使用
==
来比较字符串,而不是使用“`equals()”,您不应该通过比较字符串来测试算术代码。比较数字。如果您想格式化双精度结果,请查看或