c++判断字符串中是否含小数点
时间: 2023-10-27 07:07:20 浏览: 235
可以使用C++的字符串查找函数`find()`来判断字符串中是否含有小数点。具体代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "3.14";
if (s.find('.') != string::npos) {
cout << "含有小数点" << endl;
} else {
cout << "不含有小数点" << endl;
}
return 0;
}
```
输出结果为:含有小数点。如果字符串中不含有小数点,输出结果为:不含有小数点。
相关问题
C++ wstring判断字符串是否为数字
可以使用C++标准库中的`std::wstringstream`来实现判断wstring字符串是否为数字:
```c++
#include <iostream>
#include <sstream>
#include <locale>
using namespace std;
bool is_number(const wstring& str)
{
wistringstream ss(str);
double num;
ss.imbue(locale("")); //设置本地化环境,以支持数字格式中的逗号和小数点
ss >> num;
return !ss.fail() && ss.eof(); //如果转换失败或者还有多余字符,表示不是数字
}
int main()
{
wstring str1 = L"123"; //数字字符串
wstring str2 = L"abc"; //非数字字符串
if (is_number(str1))
wcout << L"str1是数字" << endl;
else
wcout << L"str1不是数字" << endl;
if (is_number(str2))
wcout << L"str2是数字" << endl;
else
wcout << L"str2不是数字" << endl;
return 0;
}
```
输出结果:
```
str1是数字
str2不是数字
```
用c++ 编写程序以字符串为单位,以空格或标点符号(字符串中仅含英文逗号','或小数点'.'作为标点符号)作为分隔符,对字符串中所有单词进行倒排,然后把已处理的字符串(应不含标点符号)打印出来。 输入格式:输入一个字符串(包含大小写字母、空格、逗号或小数点)
好的,以下是一个C++的代码示例,实现了此题的功能:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool isSeparator(char c) // 判断字符是否为分隔符
{
return c == ' ' || c == ',' || c == '.';
}
void reverse(string &s, int start, int end) // 反转单词
{
while(start < end)
{
char temp = s[start];
s[start] = s[end];
s[end] = temp;
start++;
end--;
}
}
void reverseWords(string &s)
{
reverse(s.begin(), s.end()); // 先整体反转字符串
int start = 0;
int len = s.length();
for(int i = 0; i < len; i++)
{
if(isSeparator(s[i])) // 判断是否为分隔符
{
reverse(s, start, i - 1); // 反转单词
start = i + 1;
}
}
reverse(s, start, len - 1); // 反转最后一个单词
}
int main()
{
string str;
getline(cin, str); // 从标准输入读取整行字符串
reverseWords(str); // 反转单词
int i = 0;
while(i < str.length())
{
if(isalpha(str[i])) // 如果是字母,则输出该单词
{
cout << str[i];
i++;
while(i < str.length() && isalpha(str[i]))
{
cout << str[i];
i++;
}
cout << ' ';
}
else // 如果是标点符号或空格,则继续向后遍历
{
i++;
}
}
cout << endl; // 输出完毕,换行
return 0;
}
```
这个程序和C语言的示例比较类似,但是使用了C++的STL库中的`string`类型,以及更方便的输入输出方式。首先,我们使用`getline`函数从标准输入读取一行字符串,然后调用`reverseWords`函数对其中的单词进行反转。`reverseWords`函数中,我们先将整个字符串反转,然后再遍历一遍字符串,根据空格、逗号或小数点等分隔符来找到单词的起始和结束位置,然后调用`reverse`函数反转单词。最后,我们再次遍历字符串,将所有单词逐个输出,忽略分隔符即可。
希望这个代码示例能够帮到您!
阅读全文