21xrx.com
2025-04-08 20:13:12 Tuesday
文章检索 我的文章 写文章
C++如何判断一个字符或字符串是否为数字?
2023-07-08 15:57:04 深夜i     19     0
C++ 判断 字符 字符串 数字

在C++中,判断一个字符或字符串是否为数字可以使用以下方法:

1. 使用isdigit函数判断字符是否为数字

isdigit函数是C++中的一个函数,当传入的参数是数字字符时,返回值为非零值,否则返回0。因此,可以使用isdigit函数来判断一个字符是否为数字。

示例代码:

char c = '0';
if (isdigit(c))
  // c是数字字符
else
  // c不是数字字符

2. 使用for循环和isdigit函数判断字符串是否为数字

判断一个字符串是否为数字,可以使用for循环遍历字符串中的每个字符,然后使用isdigit函数判断每个字符是否为数字。如果字符串中所有字符都是数字,则字符串为数字。

示例代码:

string str = "123";
bool isNum = true;
for (int i = 0; i < str.length(); i++) {
  if (!isdigit(str[i]))
    isNum = false;
    break;
  
}
if (isNum)
  // str是数字字符串
else
  // str不是数字字符串

3. 使用C++11的is_number函数判断字符串是否为数字

C++11中加入了一个名为is_number的函数,可以判断字符串是否为数字。该函数是C++11标准中的函数,如果要使用该函数需要添加以下头文件:

#include <locale>

示例代码:

#include <locale>
bool isNumber(const std::string& str) {
  std::locale loc;
  for (std::string::const_iterator i = str.begin(); i != str.end(); ++i) {
    if (!std::isdigit(*i, loc))
      return false;
  }
  return true;
}
string str = "123";
if (isNumber(str)) {
  // str是数字字符串
} else {
  // str不是数字字符串
}

综上所述,C++中判断字符或字符串是否为数字有多种方法,可以根据具体应用场景选择合适的方法。使用isdigit函数判断字符是否为数字是最直接的方法;使用for循环和isdigit函数判断字符串是否为数字适用于字符串中只含有数字字符的情况;使用C++11的is_number函数判断字符串是否为数字则更加通用。

  
  

评论区

请求出错了