Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Función isdigit()

Estas en el tema de Función isdigit() en el foro de C/C++ en Foros del Web. Alguno me puede decir como funciona esta función, según yo tengo entendido esta devuelve un valor distinto de cero si el argumento es un número ...
  #1 (permalink)  
Antiguo 10/05/2011, 15:20
Avatar de hunterofemotio  
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Función isdigit()

Alguno me puede decir como funciona esta función, según yo tengo entendido esta devuelve un valor distinto de cero si el argumento es un número del 0 al 9 y devuelve 0 en cualquier otro caso, ahora he intentado usarla pero siempre me regresa el valor de 0.

Código PHP:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main()

{
    
int a;
    
int numero=1;
    
a=isdigit(numero);
    
printf("a es igual a : %d\n",a);
    
system("pause");

Gracias por la ayuda

Última edición por hunterofemotio; 10/05/2011 a las 16:29
  #2 (permalink)  
Antiguo 10/05/2011, 18:38
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Función isdigit()

La función toma un char como argumento y devuelve 1 si es un dígito y 0 si no lo es. No tiene sentido pasar un int como argumento ya que tiene que ser número por fuerza.
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. int main()
  6. {
  7.     int a;
  8.     char numero='7';
  9.     a=isdigit(numero);
  10.     if(a==0){
  11.     printf("no es un digito\n");
  12.     }else{
  13.     printf("el digito es: %c\n", numero);
  14.     }
  15.     system("pause");
  16. }

Esta función NO convierte el char en dígito.
__________________
Foros Desarrollo de Juegos
  #3 (permalink)  
Antiguo 10/05/2011, 18:47
 
Fecha de Ingreso: mayo-2011
Ubicación: Bogota
Mensajes: 18
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Función isdigit()

[URL="http://php.net/manual/en/index.php"]http://php.net/manual/en/index.php[/URL]
  #4 (permalink)  
Antiguo 10/05/2011, 21:09
Avatar de hunterofemotio  
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Función isdigit()

Cita:
Iniciado por ssaammuu Ver Mensaje
La función toma un char como argumento y devuelve 1 si es un dígito y 0 si no lo es. No tiene sentido pasar un int como argumento ya que tiene que ser número por fuerza.
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. int main()
  6. {
  7.     int a;
  8.     char numero='7';
  9.     a=isdigit(numero);
  10.     if(a==0){
  11.     printf("no es un digito\n");
  12.     }else{
  13.     printf("el digito es: %c\n", numero);
  14.     }
  15.     system("pause");
  16. }

Esta función NO convierte el char en dígito.

Muchas gracias, eso resolvió mi duda, es que en mi libro viene con la forma:
Código:
int isdigit(int c)
y eso me confundió, de nuevo gracias.
  #5 (permalink)  
Antiguo 11/05/2011, 11:56
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: Función isdigit()

Pasa que un caracter no es mas que un numero del 0 al 255. Para ver si es un digito se fija en la tabla ascii donde esta el cero y el nueve y compara que el numero este entre el codigo del cero y el del nuevo.

Pero en definitiva un caracter sigue siendo un numero y se pueden sumar restar multiplicar.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:02.