Comprobación si una cadena C es un número entero
En determinadas situaciones, como al procesar la entrada del usuario, puede ser necesario diferenciar entre cadenas que representan números enteros y aquellas que no. Afortunadamente, hay varias formas de realizar esta tarea en C.
Un enfoque es aprovechar la función strtol de C, que convierte una representación de cadena de un número entero en un valor entero. Para usar strtol, puede escribir una función simple que encapsule el proceso de conversión:
inline bool isInteger(const std::string &s) {
if (s.empty() || ((!isdigit(s[0])) && (s[0] != '-') && (s[0] != ' '))) return false;
char *p;
strtol(s.c_str(), &p, 10);
return (*p == 0);
}
Esta función proporciona una forma confiable de determinar si una cadena determinada se puede analizar como un número entero. Al incorporarlo a su código, puede manejar cadenas que representen números enteros y no enteros de manera adecuada.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3