PRB: IsDigit Returns Wrong Value when Called from DLL

ID: q152150


The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) 3.1
  • Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5, 1.51, 1.52


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 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.