QT写一个函数,获取指定的英文字母后的带符号的数字
时间: 2024-05-07 12:21:06 浏览: 8
以下是一个示例函数,可以获取指定英文字母后的带符号数字:
```cpp
double getNumberAfterLetter(const QString &str, const QChar &letter)
{
// 找到指定字母的位置
int index = str.indexOf(letter);
if (index == -1 || index == str.size() - 1) {
// 如果没有找到指定字母或者它是字符串的最后一个字符,返回0
return 0.0;
}
// 从指定字母的下一个字符开始查找数字
QString numberString = str.mid(index + 1);
// 将字符串转换为数字
bool ok;
double number = numberString.toDouble(&ok);
if (!ok) {
// 如果转换失败,返回0
return 0.0;
}
// 判断指定字母前面的符号
if (index > 0 && str.at(index - 1) == '-') {
number = -number;
}
// 返回数字
return number;
}
```
使用示例:
```cpp
QString str = "A123.45";
QChar letter = 'A';
double number = getNumberAfterLetter(str, letter);
qDebug() << "Number after letter" << letter << "is" << number;
```
输出结果:
```
Number after letter 'A' is 123.45
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)