public String solve() {
ss = log(pow(y, -sqrt(abs(x)))) * (x + y / 2) + sin(atan(z));
result = toString(ss);
return result;
}
不知道如何将ss
转换为字符串。我需要返回字符串格式的结果
答案 0 :(得分:0)
最简单的方法是简单地将其与空字符串连接起来,然后自动将其转换:
String stringFromDouble = ss + "";
替代方法:
String stringFromDouble = Double.toString(ss);
String stringFromDouble = String.valueOf(ss)
String stringFromDouble = new Double(ss).toString()
答案 1 :(得分:0)
要直接回答您的问题,您可以执行以下操作:
return
但是,这里至少存在两个问题:
您的key
函数正在尝试完成两项不相关的任务:a)找到一些数学方程式的解,并将b)将该解格式化为人类可读的格式。按照函数名称,我认为它应该只做第一件事,而另一个函数应该做第二件事。
使用result = Double.toString(ss);
留下了很大的变化空间。这主要是由于计算机将十进制数表示为solve()
的性质所致。这超出了此答案的范围,但是我建议您阅读Is floating point math broken?了解更多详细信息。要提供对确切格式的更多控制,应改用NumberFormat
。
旁边:
我发现您没有在此处发布的代码中声明Double.toString()
或double
。如果将它们声明为诸如result
之类的类字段,建议您将它们声明为局部变量。通常,应在尽可能小的范围内声明变量。