Maison > développement back-end > Tutoriel Python > Comment puis-je vérifier de manière fiable si une chaîne Python représente un flottant ?

Comment puis-je vérifier de manière fiable si une chaîne Python représente un flottant ?

Linda Hamilton
Libérer: 2024-11-24 15:49:25
original
704 Les gens l'ont consulté

How Can I Reliably Check if a Python String Represents a Float?

Vérification de la capacité de conversion flottante dans les chaînes Python

Lors de la tentative de conversion de chaînes en types numériques, les nombres à virgule flottante posent un plus grand défi que les nombres entiers. Pour déterminer si une chaîne peut être transformée en float, la méthode de partition est couramment utilisée. Cette approche consiste à diviser la chaîne par son point décimal (.) et à vérifier que les segments résultants sont conformes à des critères spécifiques.

partition = element.partition('.')
if (partition[0].isdigit() and partition[1] == '.' and partition[2].isdigit()) 
    or (partition[0] == '' and partition[1] == '.' and partition[2].isdigit()) 
    or (partition[0].isdigit() and partition[1] == '.' and partition[2] == ''):
    newelement = float(element)
Copier après la connexion

Une méthode alternative consiste à utiliser un bloc try/catch pour exécuter la conversion et évaluer son succès.

try:
    float(element)
except ValueError:
    print("Not a float")
Copier après la connexion

Cette approche est concise et efficace, mais elle comporte le risque de déclencher une OverflowError si la valeur de l'élément dépasse la virgule flottante range.

Une autre option consiste à exploiter les expressions régulières.

import re
if re.match(r'^-?\d+(?:\.\d+)$', element) is None:
    print("Not float")
Copier après la connexion

Cette technique utilise une expression régulière pour valider la structure de la chaîne sous forme de nombre à virgule flottante.

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