Comment puis-je déterminer si un flottant est un nombre entier en Python ?

Mary-Kate Olsen
Libérer: 2024-11-14 19:44:02
original
801 Les gens l'ont consulté

How Can I Determine if a Float is a Whole Number in Python?

Vérifier si une valeur flottante est un nombre entier

Lorsque vous travaillez avec des valeurs à virgule flottante, il est souvent nécessaire de déterminer si un nombre est en fait un nombre entier (également appelé nombre entier). Ceci est particulièrement utile dans divers scénarios de programmation, tels que la recherche de racines cubiques intégrales.

Une approche pour vérifier l'intégrité consiste à convertir le flottant en chaîne et à inspecter le dernier caractère. Cependant, cela est considéré comme fastidieux. Une méthode plus efficace consiste à utiliser la méthode float.is_integer() introduite dans Python 2.6.

>>> (1.0).is_integer()
True
>>> (1.555).is_integer()
False
Copier après la connexion

Utilisation de is_integer() pour la recherche de racine cubique

Dans le Dans le contexte de la recherche de la plus grande racine cubique inférieure à 12 000, soit un nombre entier, nous pouvons ajuster la boucle comme suit : suit :

for n in range(12000, -1, -1):  # Iterate in reverse order
    if (n ** (1.0/3)).is_integer():  # Check for integerness
        print(n)
Copier après la connexion

Cette boucle renvoie :

27
8
1
0
Copier après la connexion

Considérations sur la précision

Il est important de noter que l'arithmétique à virgule flottante peut introduire de la précision problèmes. Par exemple, 1/3 dans Python 2 donne 0 en raison de la division au sol, tandis que les nombres à virgule flottante se rapprochent des nombres réels en utilisant des fractions binaires plutôt que des valeurs précises.

Pour tenir compte de ces imprécisions, vous pouvez ajuster la boucle pour rechercher des nombres proches du nombre entier ou éviter d'utiliser float() pour trouver le nombre. Alternativement, dans les versions 3.5 et ultérieures de Python, vous pouvez utiliser la fonction math.isclose() pour vérifier si une valeur à virgule flottante se trouve dans une marge spécifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal