14/03/2016, 01:41
|
| | Fecha de Ingreso: octubre-2014 Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes 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. |