21xrx.com
2024-11-22 06:57:32 Friday
登录
文章检索 我的文章 写文章
C++如何判断一个字符或字符串是否为数字?
2023-07-08 15:57:04 深夜i     --     --
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函数判断字符串是否为数字则更加通用。

  
  

评论区

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