function template
std::isdigit
<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)
- isdigit (cctype)
- Check if character is decimal digit (function
)
- isalnum
- Check if character is alphanumeric using locale (function template)
- isalpha
- Check if character is alphabetic using locale (function template)