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

Aceptar solo valores numéricos en variable float

Estas en el tema de Aceptar solo valores numéricos en variable float en el foro de C/C++ en Foros del Web. Hola necesito que me ayuden para hacer una funcion que detecte si una variable float es numerica, osea que si el usuario mete un caracter ...
  #1 (permalink)  
Antiguo 14/03/2016, 01:19
 
Fecha de Ingreso: marzo-2016
Mensajes: 1
Antigüedad: 8 años, 1 mes
Puntos: 0
Exclamación Aceptar solo valores numéricos en variable float

Hola necesito que me ayuden para hacer una funcion que detecte si una variable float es numerica, osea que si el usuario mete un caracter diferente de ser un numero por error, no siga el programa y le vuelva a pedir el dato, es necesario que el dato se almacene en una variable tipo float ya que posteriormente tengo que hacer calculos, gracias por su pronta ayuda...

Última edición por fluber_147; 14/03/2016 a las 01:30
  #2 (permalink)  
Antiguo 14/03/2016, 01:41
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Aceptar solo valores numéricos en variable float

Un float es un registro de, normalmente, 32 bits. Salvo un par de casos particulares, cualquier secuencia binaria que almacenes en esos 32 bits dará como resultado un float válido.

Lo que tu necesitas no es verificar si un float tiene un valor numérico, pues SIEMPRE va a tener valores numéricos, sino comprobar si lo que el usuario ha introducido es un número válido.

Lo que más control te da sobre la operación es almacenar la entrada del usuario en un string, después verificas que ese string se corresponde con un número válido (el formato dependerá de qué entiendas por número válido: 9.4, +/-9.4, 4e-5, ...). El caso es que si pasas esa validación el siguiente paso es convertir el string a número. Eso lo puedes conseguir con, por ejemplo sscanf (que funciona igual que scanf solo que usando un buffer dado por el usuario en vez de la entrada estándar).

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: incorrecto, numero
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 06:55.