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

Windows Forms Discussion :

Addition entier et decimal


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut Addition entier et decimal
    Bonjour,

    j'ai un petit problème avec une addition, pour l'instant, j'y vais doucement et je voulais additionner un ou plusieurs entiers avec un ou plusieurs décimaux.
    Exemple : 1 + 2 + 5.45 + 6.85...
    J'ai écris ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j = j + Convert.ToInt32(tableau[1, 10]) * Convert.ToInt32(tableau[0,10]) + Decimal.Parse(tableau[0,11]);
    car j'ai cru voir que pour convertir un string en decimal, il fallait utiliser soit Decimal.Parse ou bien Convert.ToDecimal mais aucuns ne marchent, je ne comprends pas.
    Pourquoi ça ne marche pas ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    ton tableau contient des nombres sous forme de chaine ? dans quel format ? séparateur décimal point ou virgule ?
    et quel est le message d'erreur ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Alors oui, mon tableau contient des chaînes (de caractère)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[,] tableau = new string[300,12];
    Et les nombres décimaux ont des séparateurs virgule, j'y ai pensé que ça pouvait être ça le problème alors, j'en ai changé quelques uns (en point) mais de toute façons, je ne peux pas lancer le programme puis cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j + Convert.ToInt32(tableau[1, 10]) * Convert.ToInt32(tableau[0,10]) + Decimal.Parse(tableau[0,11]);
    est souligné.
    Le message d'erreur est le suivant =>
    Impossible de convertir implicitement le type 'decimal' en 'int'. Une conversion explicite existe (un cast est-il manquant*?)

  4. #4
    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
    Au lieu de convertir en int, convertis en decimal.
    ಠ_ಠ

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Heu...en fait, c'est j que j'avais déclaré en int au lieu de decimal ...héhé...désolé. Ça semblait logique mais j'ai complètement zappé...

    Mais maintenant, j'ai un autre problème, quand je lance le programme, il s'arrête sur la ligne et dit =>
    L'exception FormatException n'a pas été gérée
    "Le format de la chaîne d'entrée est incorrect."

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    peut-etre que tes chaines de décimaux contient un "," au lieu d'un "." ou l'inverse

    Ca peut jouer !!!
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Ça n'a pas l'air d'être ça car j'ai beau changer, je crois que j'ai fait toutes les combinaisons ^^, ça affiche toujours la même erreur.

    EDIT : ça venait du signe € tout simplement ! Il va falloir les enlever maintenant.

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

Discussions similaires

  1. [RegExp] Expression Regulière (RegExp) entier ET decimal
    Par Alexis35 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/02/2011, 01h24
  2. Addition d'entier signé sur 64 bits sur un proc 32 bits
    Par SoJaS dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 10/08/2010, 07h22
  3. passer d'un decimal a un entier ?
    Par sadkat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/03/2010, 13h15
  4. Addition avec nombres entiers et décimaux
    Par ariuss dans le forum Débuter
    Réponses: 3
    Dernier message: 11/10/2009, 21h55
  5. addition de deux entiers dans le meme tedit
    Par vinse dans le forum Delphi
    Réponses: 6
    Dernier message: 10/01/2007, 17h32

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