solo - Cómo validar un entero válido y un número flotante en VC++ CString
validar que solo ingrese numeros en c++ (1)
¿Puede alguien decirme una forma válida de validar un número presente en el objeto CString como un número válido o un número flotante?
Use _tcstol () y _tcstod () :
bool IsValidInt(const CString& text, long& value)
{
LPCTSTR ptr = (LPCTSTR) text;
LPTSTR endptr;
value = _tcstol(ptr, &endptr, 10);
return (*ptr && endptr - ptr == text.GetLength());
}
bool IsValidFloat(const CString& text, double& value)
{
LPCTSTR ptr = (LPCTSTR) text;
LPTSTR endptr;
value = _tcstod(ptr, &endptr);
return (*ptr && endptr - ptr == text.GetLength());
}
EDITAR: modificó el código para seguir las excelentes sugerencias proporcionadas en los comentarios.