C++에서 isdigit()
은 인자로 전달된 문자가 0 ~ 9
사이의 숫자라면 0이 아닌 값을 리턴(true), 숫자가 아니라면 0(false)을 리턴합니다. 따라서, 이 API를 이용하여 문자열이 숫자인지 판별할 수 있습니다.
1. Syntax
인자로 int 타입의 문자 1개를 전달받고, 숫자라면 0이 아닌 값을 리턴. 숫자가 아니라면 0을 리턴.
int isdigit(int c);
2. Example 1
인자로 ASCII 문자를 전달하고 그 문자가 숫자인지 판단하는 예제입니다. 숫자라면 0이아닌 숫자를 리턴하고, 숫자가 아니라면 0을 리턴합니다.
#include <iostream>
using namespace std;
int main()
{
cout << "isdigit('1') : " << isdigit('1') << "\n";
cout << "isdigit('5') : " << isdigit('5') << "\n";
cout << "isdigit('a') : " << isdigit('a') << "\n";
cout << "isdigit('b') : " << isdigit('b') << "\n";
}
Output:
isdigit('1') : 4
isdigit('5') : 4
isdigit('a') : 0
isdigit('b') : 0
3. Example 2
다음은 문자열 배열의 각 문자에 대해서 숫자인지 판별하는 예제입니다.
#include <iostream>
using namespace std;
int main()
{
char str[] = "GA01";
cout << "isdigit('str[0]') : " << isdigit(str[0]) << "\n";
cout << "isdigit('str[1]') : " << isdigit(str[1]) << "\n";
cout << "isdigit('str[2]') : " << isdigit(str[2]) << "\n";
cout << "isdigit('str[3]') : " << isdigit(str[3]) << "\n";
}
Output:
isdigit('str[0]') : 0
isdigit('str[1]') : 0
isdigit('str[2]') : 4
isdigit('str[3]') : 4
4. Example 3
다음은 문자열이 숫자인지 판별하는 예제입니다.
문자열의 모든 문자들에 대해서 isdigit()이 0이 아닌 숫자를 리턴하면 모두 숫자로 구성되었다고 판단할 수 있습니다. 이것으로 문자열이 정수 형태의 숫자인지 판별할 수 있습니다.
#include <iostream>
using namespace std;
int main()
{
char str[] = "1234";
bool isStringNumber = true;
for (int i = 0; i < strlen(str); i++) {
if (isdigit(str[i]) == 0) {
isStringNumber = false;
}
}
if (isStringNumber) {
cout << str << " is number";
}
else {
cout << str << " is not number";
}
}
Output:
1234 is number
References
Loading script...
Related Posts
- [C++] 배열을 리스트(list)로 변환
- [C++] 배열에서 특정 요소 제거
- [C++] vector 모든 요소의 합계 계산
- [C++] 두개의 배열이 같은지 비교
- [C++] 배열에 특정 요소가 있는지 확인
- [C++] 2차 배열 복사 방법
- [C++] 배열 복사하는 방법 (copy, memcpy)
- [C++] 함수의 인자로 배열 전달
- [C++] vector 모든 값의 평균 계산
- [C++] vector를 문자열로 변환
- [C++] 배열에서 요소의 Index 찾기
- [C++] 배열의 중복 요소 찾기
- [C++] 배열의 중복 요소 제거
- [C++] 배열 순서 거꾸로 뒤집기
- [C++] char 배열을 string으로 변환
- [C++] string을 char 배열로 변환
- [C++] 문자열 거꾸로 뒤집기
- [C++] vector의 중복 요소 제거
- [C++] 두 배열을 하나의 배열로 합치기
- [C++] 배열 길이, 크기 얻는 방법
- [C++] 배열에서 최대값, 최소값 찾기 (3가지 방법)
- [C++] int를 string으로 변환, 3가지 방법
- [C++] 문자열 리스트(Vector, 배열) 정렬
- [C++] string의 문자 정렬
- [C++] string을 int로 변환, 3가지 방법
- [C++] string 대문자/소문자 변환 방법
- [C++] string.compare() 문자열 비교
- [C++] int를 char로 변환, 3가지 방법
- [C++] 문자열 자르기, 3가지 방법
- [C++] isdigit(), 어떤 문자가 숫자인지 확인
- [C++] strlen(), 문자열 길이 계산
- [C++] strcmp(), strncmp() 함수로 문자열 비교
- [C++] strstr(), 특정 문자열 찾기