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

C# Discussion :

Convert.todouble d'un string "négatif"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Par défaut Convert.todouble d'un string "négatif"
    bonjour,

    je souhaite attribuer une variable "in_gmin" qui est rentrée par l'utilisateur dans une textbox.
    Elle est donc reconnue comme un string.
    pour pouvoir m'en servir je fais :

    gmin = Convert.ToDouble(in_gmin.Text)

    seulement, la valeur de in_gmin étant de -1.9, il me sort que le type d'entré est pas bon :/
    pour des valeurs positives ça marche nickel.

    connaissez vous la procédure pour se sortir de ce pétrin ?

    merci

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 661
    Par défaut
    Bonjour,

    Que mets tu comme valeur pour tester ? Provient-elle d'un calcul que tu fais avec d'autre textbox ?

    Parce que j'ai souvent vu les conversions foirées a cause de la confusion entre '.' et ',' mais jamais a cause du signe négatif.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Par défaut
    grummm .... je me sens con là ... l'erreur vient bien de la séparation, j'ai mis "." et ça marche sans soucis avec ","
    a t on possibilité de changer ça dans les config du logiciel ?

    en tout cas merci pour l'info

  4. #4
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 661
    Par défaut
    Si tu es sur d'avoir que des '.' au lieu de ',' tu fais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double nombre = Convert.ToDouble("-3.5", CultureInfo.InvariantCulture); // -3.5
    Au pire ,dans le doute tu peux te faire une méthode sympa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            private double ConvertToDouble(string str)
            {
                if(str.Contains(","))
                    return Convert.ToDouble(str);
                else
                    return Convert.ToDouble(str,CultureInfo.InvariantCulture);
            }

  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Sinon (en windows 7) : "panneau de configuration" : Région et langue" : "Paramètres supplémentaires" : "nombre" => modifier le "symbole décimal".

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Par défaut
    ok merci pour vos réponses

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

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