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

时间:2019-05-19 09:49:40

标签: java android

我正在尝试将双精度型转换为字符串以用于显示目的,但出现错误消息“无法解析方法“ toString()”

我测试了打印字符串,并且可以正常工作,但是当我尝试传递两倍的字符串时,我的应用程序崩溃了

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));
}

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

5 个答案:

答案 0 :(得分:2)

这是因为tipTotal是原始类型double

使用以下方法之一,

"" +tipTotal;
Double.toString(tipTotal);
String.valueOf(tipTotal);
new Double(tipTotal).toString();
String.format("%f", tipTotal) ;

答案 1 :(得分:1)

您无法在Java中针对诸如doubleintfloat之类的原始类型调用方法。您可以在setText方法中放入很多选项

  • Double.toString(tipTotal)
  • String.valueOf(tipTotal)
  • tipTotal + ""

答案 2 :(得分:0)

这甚至都不会编译,因为您无法在原语(tipTotaldouble)上调用方法。

改为使用String.valueOf(tipTotal)

答案 3 :(得分:0)

方法toString()没有参数。 如果要打印结果:totalAmountTextView.setText(String.valueOf(total))

答案 4 :(得分:-1)

如果您只想将tipTotal转换为字符串,请使用toString()tipTotal.toString()方法不使用任何类似的参数,或者如果您要使用total.toString()将total转换为字符串,则

>

Check Here