首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >toString错误,无法解析方法toString()

toString错误,无法解析方法toString()
EN

Stack Overflow用户
提问于 2019-05-19 17:49:40
回答 5查看 6.5K关注 0票数 0

我正在尝试将双精度值转换为字符串以进行显示,但收到一个错误,显示"Cannot resolve method "toString()“

我测试了打印一个字符串,它可以工作,但当我尝试传递一个双倍时,我的应用程序崩溃

代码语言:javascript
复制
void calcTheTip(Double tipPercentage) {

    //getting the total bill (without the tip):
    double billTotal = Double.valueOf(billTotalEditText.getText().toString());

    //calculating the tip percentage:
    double tipTotal = billTotal * tipPercentage;

    //displaying the tip:
    tipTotalTextView.setText(tipTotal.toString());

    //calculate total:
    double total = tipTotal + billTotal;

    //display the total:
    totalAmountTextView.setText(tipTotal.toString(total));
}

我希望它显示在应用程序中的总数,到目前为止,总数是双倍,但我需要它是一个字符串的显示目的。

EN

回答 5

Stack Overflow用户

发布于 2019-05-19 17:54:30

这是因为tipTotal是一个基本类型double

使用以下方法之一:

代码语言:javascript
复制
"" +tipTotal;
Double.toString(tipTotal);
String.valueOf(tipTotal);
new Double(tipTotal).toString();
String.format("%f", tipTotal) ;
票数 3
EN

Stack Overflow用户

发布于 2019-05-19 17:53:02

这甚至不能编译,因为您不能在原语上调用方法(tipTotal是一个double)。

请改用String.valueOf(tipTotal)

票数 1
EN

Stack Overflow用户

发布于 2019-05-19 17:53:25

在java语言中,你不能在像doubleintfloat这样的基本类型上调用方法。您有一堆选项可以放入setText方法中

  • Double.toString(tipTotal)
  • String.valueOf(tipTotal)
  • tipTotal + ""
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56206638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档