| |||
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 |
| |||
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: |