D:\armtest\serial\mainwindow.cpp:104: error: no matching function for call to 'QString::number(QString&)' QString displayString = QString::number(temp) + "掳C"; ^
时间: 2024-02-14 15:12:24 浏览: 78
FFT_armtest.zip_c 音频波形_音频 频谱_音频分析 FFT_频谱分析图_频谱图 VC
5星 · 资源好评率100%
这是一个编译错误,错误信息显示在第104行,错误原因是`QString::number()`函数的参数列表不匹配。`QString::number()`函数需要一个数值类型的参数,但是你传递了一个`QString`类型的参数。你需要将这个参数转换为数值类型,然后再传递给`QString::number()`函数。
可以尝试使用`QString::toDouble()`函数将`QString`类型的参数转换为`double`类型,然后再将转换后的`double`类型参数传递给`QString::number()`函数。例如:
```
double tempDouble = tempStr.toDouble();
QString displayString = QString::number(tempDouble) + "°C";
```
或者,你可以直接使用`QString::fromUtf8()`函数将`QString`类型的字符串转换为`const char*`类型的字符串,并使用`std::string`库中的`std::stod()`函数将其转换为`double`类型。例如:
```
double tempDouble = std::stod(tempStr.toStdString());
QString displayString = QString::number(tempDouble) + "°C";
```
在这两种方法中,我们都将浮点数值转换为`double`类型,然后使用`QString::number()`函数将其转换为字符串,并在字符串的末尾加上单位`°C`。
阅读全文