PRB: IsDigit Returns Wrong Value when Called from DLL

ID: Q152150


The information in this article applies to:


SYMPTOMS

Under Windows 3.1 or Windows 95, when IsDigit() is called in a DLL, it returns TRUE if the characters are 240 and 248. IsDigit should return FALSE for these characters.


RESOLUTION

You can use SDK APIs instead of the C Run-time calls to avoid this problem.

Instead of calling:


   if (IsDigit(a)) 
you can call the following line to get the correct result:

   if (IsCharAlphaNumeric(a) && (!IsCharAlpha(a))) 

Additional query words: MSVC


Keywords          : kb16bitonly kbIntlDev 
Version           : 1.0 1.5 1.51 1.52 3.1
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: August 3, 1999