Mejor respuesta
En Python, puede conocer el tipo de conjunto de datos en cualquier programa, usando el función type () .
Si un número es flotante, el código imprimirá el tipo de todos modos. Un ejemplo:
a = 2 #integer
b = "Cosmos" #string
c = 3.4 #float
print(type(a))
print(type(b))
print(type(c))
La salida mostrará naturalmente el tipo de datos de cada uno, con el valor en la variable c siendo float. Por lo tanto, esta es la forma más fácil y rápida de saber si un tipo de datos es flotante.
Hope ayuda 🙂
Respuesta
Depende del idioma. Algunos lenguajes (como JavaScript) tienen un operador typeof
que puede usar para diferenciar. Aunque en JavaScript, esto no le ayudará, ya que no existen números enteros en JavaScript. JavaScript tiene un tipo de número unificado que encapsula tanto enteros como flotantes, por lo que las formas de verificarlo incluyen
n - Math.floor(n) > 0
// 3.14 - 3.00 = 0.14. 0.14 > 0.00
n.toString().indexOf(".") == -1
// indexOf() returns -1 when it can’t find the given substring
Si está utilizando C (o un lenguaje que tiene un sistema de tipo nominal estático), puede hacer algo similar:
(n - (int) n) > 0
Lo que sucede aquí es que el operador (int) escribe su operando para forzarlo a ser un número entero. esto «corta» la parte decimal, por lo que tiene el mismo efecto que Math.floor de JavaScript.
Sin embargo, hay una advertencia. A veces, las pequeñas diferencias son demasiado pequeñas para el operador de igualdad. 1 == 0.9999999999999999
es falso, pero 1 == 0.99999999999999999
es verdadero. En C, por ejemplo, es posible que tenga que reemplazar > 0
con > FLT\_EPSILON
y #include
. FLT\_EPSILON es una constante que representa el flotador representable más pequeño. Puede usarlo al diferenciar dos flotantes y asegurarse de que no se compararán erróneamente como iguales. Para hacerlo, restelos y verifique que la diferencia sea mayor que («no es igual») o menor o igual que («igual») FLT\_EPSILON.