我正在尝试将双精度值转换为字符串以进行显示,但收到一个错误,显示"Cannot resolve method "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));
}我希望它显示在应用程序中的总数,到目前为止,总数是双倍,但我需要它是一个字符串的显示目的。
发布于 2019-05-19 17:54:30
这是因为tipTotal是一个基本类型double。
使用以下方法之一:
"" +tipTotal;
Double.toString(tipTotal);
String.valueOf(tipTotal);
new Double(tipTotal).toString();
String.format("%f", tipTotal) ;发布于 2019-05-19 17:53:02
这甚至不能编译,因为您不能在原语上调用方法(tipTotal是一个double)。
请改用String.valueOf(tipTotal)。
发布于 2019-05-19 17:53:25
在java语言中,你不能在像double,int,float这样的基本类型上调用方法。您有一堆选项可以放入setText方法中
Double.toString(tipTotal)String.valueOf(tipTotal)tipTotal + ""https://stackoverflow.com/questions/56206638
复制相似问题