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

ASP.NET Discussion :

Imprécision dans la base de donnée à cause de float.parse


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Par défaut Imprécision dans la base de donnée à cause de float.parse
    Bonjour à tous,

    J'ai un petit formulaire ou je peux je peux saisir des montants. Une fois les montants saisie je les sauve sur la base de données.

    J'ai mon mon TextBox qui récupère le montant ensuite dans le codeBehind dans l'évènement click du bouton j'appel ma fonction saisieMontant(qui prend un string en paramètre) crée dans une autre Class. Celle-ci s'occupe de sauver dans la base de données les paramètres passés à l'aide d'une requête preparée.
    Voici un petit code d'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     try
            {
                //Requête d'insertion
                strInsert = "INSERT INTO lemontant(" +
                                           "montant)" +
                                  "VALUES(@monmontant)";
    
                //Création de la requête
                SqlCommand mySqlCommand = new SqlCommand(strInsert, connection);
                
                //Ajoute de paramètre pour la requête.
               mySqlCommand.Parameters.Add("@monmontant",SqlDbType.Float);
               
               mySqlCommand.Parameters["@monmontant"].Value = float.Parse(strMontant);
    ...
    Le gros problème est que les chiffre ne sont pas précis... si je saisie 1.5 il n'y a pas de problème par contre 1.2(ou 1.20), 1.3(ou 1.30), 1.4(ou 1.40) j'ai de gros problème. Pour 1.2 j'ai 1.20000004768372 pour 1.3 j'ai 1.29999995231628 pour 1.4 j'ai 1.39999997615814 ... Quelqu'un peut-il me dire d'où vient l'erreur ?

    Merci pour votre aide

    Merci pour votre aide

  2. #2
    Membre éclairé Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Par défaut
    Bon j'ai enlevé le parse et apparemment ça marche nickel.

    Par contre je ne comprend toujours pas pourquoi si je parse mes montant j'ai ce problème ... j'ai loupé quelque chose ? A moins que je sois à la masse...

    Si quelqu'un pouvait m'éclairer ça serait super.

    Merci pour votre aide.

  3. #3
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut
    Bonjour

    Au niveau de ta table de base de données les champs destinés à recevoir des montants devrait être de type numeric ou decimal mais pas float. En effet le type float a un effet bizarre pour certaines valeurs (comme 0.20 par exemple).

    Cordialement

Discussions similaires

  1. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  2. les images dans une base de données
    Par houhou dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2004, 14h27
  3. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21
  4. [SYBASE]Libérer espace libre dans une base de données ?
    Par le_parrain dans le forum Sybase
    Réponses: 3
    Dernier message: 14/05/2004, 09h36
  5. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12

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