Melhor resposta
Em Python, você pode saber o tipo de conjunto de dados em qualquer programa, usando o type () .
Se um número for flutuante, o código imprimirá o tipo de qualquer maneira. Um exemplo:
a = 2 #integer
b = "Cosmos" #string
c = 3.4 #float
print(type(a))
print(type(b))
print(type(c))
A saída mostrará naturalmente o tipo de dados de cada um, com o valor na variável c sendo float. Portanto, esta é a maneira mais fácil e rápida de saber se um tipo de dados é flutuante.
Espero isso ajuda 🙂
Resposta
Depende do idioma. Algumas linguagens (como JavaScript) têm um operador typeof
que você pode usar para saber a diferença. Embora em JavaScript, isso não vá ajudá-lo, já que não existe um número inteiro em JavaScript. JavaScript tem um tipo de número unificado que encapsula inteiros e flutuantes, então as formas de verificar isso incluem
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
Se você estiver usando C (ou uma linguagem que tenha um sistema de tipo nominal estático), poderá fazer algo semelhante:
(n - (int) n) > 0
O que acontece aqui é que o operador (int) converte seu operando para forçá-lo a ser um inteiro. isso “corta” a parte decimal, tendo assim o mesmo efeito do Math.floor do JavaScript.
Há uma ressalva, no entanto. Às vezes, pequenas diferenças são muito pequenas para o operador de igualdade. 1 == 0.9999999999999999
é falso, mas 1 == 0.99999999999999999
é verdadeiro. Em C, por exemplo, você pode realmente ter que substituir > 0
por > FLT\_EPSILON
e #include
. FLT\_EPSILON é uma constante que representa o menor float representável. Você pode usá-lo ao comparar dois flutuadores e ter certeza de que eles não serão comparados erroneamente. Você faz isso subtraindo-os e verificando se a diferença é maior que (“diferente”) ou menor que ou igual a (“igual”) FLT\_EPSILON.