isdigit
function template
<locale>
template <class charT>
bool isdigit ( charT c, const locale& loc );
Check if character is a decimal digit using locale
Checks whether c is a decimal digit using ctype facet of locale loc, returning the same as a call to:
|
use_facet < ctype<charT> > (loc).is (ctype_base::digit, c)
|
This function replicates the functionality of its C-library equivalent isdigit. See isdigit for more info.
Parameters
- c
- Character to be checked.
- loc
- Locale to be used. Shall have facet ctype present.
Template parameter charT is the character type.
Return Value
true if indeed c is a decimal digit character, false otherwise.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// isdigit example (C++)
#include <iostream>
#include <string>
#include <sstream>
#include <locale>
using namespace std;
int main ()
{
locale loc;
string str="1776ad";
if ( isdigit(str[0],loc) )
{
int year;
stringstream(str) >> year;
cout << "The year that followed " << year << " was " << (year+1) << ".\n";
}
return 0;
}
|
Output:
The year that followed 1776 was 1777.
|
See also
ctype | Character type facet (class template) |
isalnum | Check if character is alphanumeric using locale (function template) |
isalpha | Check if character is alphabetic using locale (function template) |
|