Trong STL C++, iswdigit() là hàm built-in kiểm tra ký tự rộng có phải chữ số thập phân (0-9) hay không. Hàm nằm trong header <cwctype>.
Chữ số thập phân là gì?
Là các giá trị số từ 0 đến 9: 0,1,2,3,4,5,6,7,8,9.
Cú pháp
int iswdigit(wint_t c)
Tham số – c: ký tự rộng cần kiểm tra, ép kiểu wint_t hoặc WEOF.
Giá trị trả về – Trả về khác 0 (true) nếu c là chữ số thập phân, 0 (false) nếu không.
Cách tiếp cận
- Nhập chuỗi vào biến kiểu string.
- Gọi
iswdigit()kiểm tra ký tự rộng có phải chữ số không. - In kết quả.
Ví dụ 1
#include <cwctype>
#include <iostream>
using namespace std;
int main() {
wchar_t c_1 = '2';
wchar_t c_2 = '*';
if (iswdigit(c_1))
wcout << c_1 << " is a digit ";
else
wcout << c_1 << " is a character ";
wcout << endl;
if (iswdigit(c_2))
wcout << c_2 << " is a digit ";
else
wcout << c_2 << " is a character ";
return 0;
}
Kết quả
2 is a digit * is a character
Ví dụ 2
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main() {
wchar_t str[] = L"1776ad";
long int year;
if (iswdigit(str[0])) {
year = wcstol(str, NULL, 10);
wprintf(L"The year that followed %ld was %ld.\n", year, year+1);
}
return 0;
}
Kết quả
The year 1777 followed 1776