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

Framework .NET Discussion :

Decimal.TryParse verifier le nombre de décimal?


Sujet :

Framework .NET

  1. #1
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 181
    Points : 4 495
    Points
    4 495
    Par défaut Decimal.TryParse verifier le nombre de décimal?
    Bonjour,

    J'aimerai vérifier la validiter d'un string pour que celui-ci ne contient que maximum 2 décimales.

    Exemple :
    123.45 = valide
    123.456 = invalide


    J'aurai voulu savoir si avec le Decimal.TryParse() il y a moyen de vérifier si le string ne contient pas plus de 2 decimales

    ou si il y avait une manière plus élégante que de faire cette vérification
    avec un Substring

    peut etre avec les regular expression

  2. #2
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Salut,
    Effectivement, pour moi le mieux c'est Regex, l'expression données dans la documentation en guise d'exemple semble parfaite non ?
    Citation Envoyé par msdn
    ^-?\d+(\.\d{2})?$

  3. #3
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Bonjour,

    J'aimerai vérifier la validiter d'un string pour que celui-ci ne contient que maximum 2 décimales.
    Hello,
    le plus simple, c'est de le convertir en décimal avec TryParse, et de vérifier que le decimal ainsi obtenu convient.

    Par exemple, tu peux vérifier que le reste de la division entière de ton décimal par 0.01 vaut bien zéro.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bool b1 = (decimal.Remainder(1.23M, 0.01M) == 0); // renvoie true
    bool b2 = (decimal.Remainder(1.234M, 0.01M) == 0); // renvoie false

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 181
    Points : 4 495
    Points
    4 495
    Par défaut
    Merci à vous deux

    Je préfere la solution de ctxnop même si j'ai toujours un peu de mal avec les Regular Expressions


    Celle de Guulh doit-être plus rapidement lisible pour les mathématiciens
    C'est bo les maths quand on s'en souvient

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

Discussions similaires

  1. [Nombre]formater le nombre de décimal après une virgule.
    Par PascalCmoa dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/03/2007, 10h40
  2. Définir un nombre de décimales
    Par IDE dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 11/01/2006, 17h52
  3. Comment fixer le nombre de décimal !
    Par Paul1804 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/01/2006, 15h12
  4. définir nombre de décimale
    Par capone dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/01/2006, 14h15
  5. round avec nombre de décimale spécifiée
    Par bilb0t dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 14/04/2005, 16h44

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