IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment savoir s'il s'agit d'un numerique


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    maçon
    Inscrit en
    Novembre 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : maçon

    Informations forums :
    Inscription : Novembre 2004
    Messages : 289
    Par défaut Comment savoir s'il s'agit d'un numerique
    bonjour,
    Existe t-il une instruction python qui est equivalent a isnumeric en vb ou IsNum en javascript ?
    merci
    Olivier

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Discussion il y a quelques temps sur une liste de diffusion:
    Une solution simple, lisible et "canonique" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isinstance(x, (int, long, float, complex))
    Ca fonctionne pour les quatre types prédéfinis de Python plus les
    booléens (bool),
    qui est une sous-classe de int, ça marche pour toutes les sous-classes
    de int,long,float,complex. Mais ça ne marche pas pour Decimal.

    Une autre solution peut être de tenter une conversion vers un nombre
    complexe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def isnumeric(x):
         try:
             # Tentative de conversion en nombre complexe
             # on retranche de x pour être garantir que x n'est pas une chaîne
             x - complex(x)
             return True
         except OverflowError,msg:
             # c'est un nombre mais il est trop grand pour la conversion
             return True
         except TypeError, msg:
             # Ce n'est pas un nombre
             return False

  3. #3
    Membre éclairé
    Profil pro
    maçon
    Inscrit en
    Novembre 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : maçon

    Informations forums :
    Inscription : Novembre 2004
    Messages : 289
    Par défaut
    c'est parfait
    merci bcp

    olivier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [linux] socket comment savoir si est un client est d
    Par Mascos dans le forum Réseau
    Réponses: 14
    Dernier message: 04/08/2004, 12h05
  2. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42
  3. Réponses: 9
    Dernier message: 11/03/2003, 12h22
  4. Réponses: 4
    Dernier message: 10/09/2002, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo