Meilleure réponse
En Python, vous pouvez connaître le type densemble de données dans nimporte quel programme, en utilisant le type () function.
Si un nombre est flottant, le code affichera quand même le type. Un exemple:
a = 2 #integer
b = "Cosmos" #string
c = 3.4 #float
print(type(a))
print(type(b))
print(type(c))
La sortie affichera naturellement le type de données de chacun, la valeur de la variable c étant float. Cest donc le moyen le plus simple et le plus rapide de savoir si un type de données est float.
Hope ça aide 🙂
Réponse
Cela dépend de la langue. Certains langages (comme JavaScript) ont un opérateur typeof
que vous pouvez utiliser pour faire la différence. Bien quen JavaScript, cela ne vous aidera pas, car il nexiste pas dentier en JavaScript. JavaScript a un type de nombre unifié qui encapsule à la fois les entiers et les flottants, donc les moyens de le vérifier incluent
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 vous utilisez C (ou un langage qui a un système de type statique et nominal), vous pouvez faire quelque chose de similaire:
(n - (int) n) > 0
Ce qui se passe ici, cest que lopérateur (int) convertit son opérande pour le forcer à être un entier. ceci «coupe» la partie décimale, ayant ainsi le même effet que Math.floor de JavaScript.
Il y a cependant une mise en garde. Parfois, de petites différences sont trop petites pour lopérateur dégalité. 1 == 0.9999999999999999
est faux, mais 1 == 0.99999999999999999
est vrai. En C, par exemple, vous devrez peut-être remplacer > 0
par > FLT\_EPSILON
et #include
. FLT\_EPSILON est une constante représentant le plus petit flottant représentable. Vous pouvez lutiliser lorsque vous différez deux flottants et assurez-vous quils ne se comparent pas par erreur. Vous faites cela en les soustrayant et en vérifiant que la différence est supérieure («non égale») ou inférieure à («égale») FLT\_EPSILON.