【问题标题】:how convert double to string [duplicate]如何将double转换为字符串[重复]
【发布时间】:2019-03-04 21:03:40
【问题描述】:
public String solve() {
        ss = log(pow(y, -sqrt(abs(x)))) * (x + y / 2) + sin(atan(z));
        result = toString(ss);
        return result;
    }

不知道如何将ss 转换为字符串。我需要以字符串格式返回结果

【问题讨论】:

  • return String.valueOf(ss)
  • tnx 很多!这对我有帮助
  • 第三个变种:result = "" + ss; (适用于基元)

标签: java android types


【解决方案1】:

最简单的方法是简单地将它与一个空字符串连接起来,它会自动转换它:

String stringFromDouble = ss + "";

替代方案:

 String stringFromDouble = Double.toString(ss);
 String stringFromDouble = String.valueOf(ss)
 String stringFromDouble = new Double(ss).toString()

【讨论】:

    【解决方案2】:

    要直接回答您的问题,您可以这样做:

    result = Double.toString(ss);
    

    但是,这里至少有两个问题:

    1. 您的solve() 函数正在尝试执行两项不相关的任务:a) 找到某个数学方程的解,b) 将解格式化为人类可读的格式。根据函数名称,我认为它应该只做第一件事,而另一个函数应该做第二件事。

    2. 使用Double.toString() 留下了很大的变化空间。这主要是由于计算机如何将十进制数表示为double 的性质。这超出了此答案的范围,但我建议您阅读Is floating point math broken? 了解更多详细信息。为了更好地控制确切的格式,您应该改用NumberFormat

    旁白:

    我看到您在此处发布的代码中没有声明 resultss。如果您将这些声明为类字段,例如private double ss;,我建议您将它们声明为局部变量。一般来说,您应该在尽可能窄的范围内声明变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-13
      • 2011-06-30
      • 1970-01-01
      • 2020-06-22
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多