21xrx.com
2024-11-22 05:27:28 Friday
登录
文章检索 我的文章 写文章
C++如何判断字符串中的字符是否为数字
2023-07-05 13:24:10 深夜i     --     --
C++ 字符串 字符 数字 判断

在C++中,判断字符串中的字符是否为数字非常简单。下面介绍两种常用的方法。

一、使用isdigit函数

isdigit是一个C++标准库函数,用于判断一个字符是否为数字。它的用法如下:


char c = 'a';

if (isdigit(c))

  cout << "这是一个数字" << endl;

else

  cout << "这不是一个数字" << endl;

上述代码中,isdigit函数判断字符c是否为数字,如果是数字,则打印“这是一个数字”,否则打印“这不是一个数字”。

我们可以根据这个方法,遍历整个字符串,判断字符串中的每个字符是否为数字。


string str = "123abc";

for (int i = 0; i < str.size(); i++) {

  if (isdigit(str[i])) {

    cout << str[i] << "是数字" << endl;

  } else {

    cout << str[i] << "不是数字" << endl;

  }

}

上述代码首先定义了一个字符串“123abc”,然后遍历字符串中的每一个字符,根据isdigit函数判断每个字符是否是数字。

二、使用stringstream类

stringstream类可以将字符串转换成各种类型的值,包括整数、浮点数、字符等等。它还提供了一个判断字符串中是否为数字的方法。

使用stringstream类的代码如下:


string str = "123abc";

stringstream ss(str);

int num;

ss >> num;

if (ss.fail())

  cout << str << "不是一个数字" << endl;

else

  cout << str << "是一个数字

上述代码首先将字符串str转换成一个stringstream对象,然后将stringstream对象中的值赋给一个整数num。如果ss.fail()返回true,表示转换失败,那么这个字符串就不是数字;如果转换成功,就可以得到这个数字的值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复