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

 Firebird Discussion :

Probléme avec type Float - FireBird2.1


Sujet :

Firebird

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Probléme avec type Float - FireBird2.1
    salut
    l'insertion du type float(aussi double) me pose toujours un problème, parfois le tuple refuse de s'ajouter et me donne l'exception :

    Float : Invalid float numeric value

    et si le champs l'accepte il change la valeur
    par exemple je saisis 1234,44 il la converti en 1234.439941


    Decimal(5,2) : Invalid double numeric value

    le meme probléme si je fais un type Numeric(5,2) par exemple

    ou est le problème svp ??????


  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Si vous avez toujours le même nombre de décimal (par exemple des prix) préférez decimal ou Numeric.

    Pour ce qui est du mauvais arrondi je dirais que c'est le float de votre application qui fait ça car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select 1234.44, cast('1234.44' as float), cast('1234.44' as decimal(5,2))
    from rdb$database;
    donne bien 1234.440 (fb2.1)

    Pour votre erreur d'insertion il faudrait qu'on sache comment vous les insérez.

    Par exemple si vous faite ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select cast('1234,44' as float), cast('1234,44' as decimal(5,2))
    from rdb$database;
    Ca ne fonctionnera pas, car la décimale c'est le point et non la virgule.

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par Botfounast Voir le message

    Float : Invalid float numeric value

    et si le champs l'accepte il change la valeur
    par exemple je saisis 1234,44 il la converti en 1234.439941


    Decimal(5,2) : Invalid double numeric value
    je crois que c'est normalle, car vous déclaré 5 en tout, et 1234.44 c'est 6 chiffre en total
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

Discussions similaires

  1. Probléme avec type de donnée float
    Par hamza_azerty dans le forum Access
    Réponses: 1
    Dernier message: 17/03/2014, 07h35
  2. Problème avec type de données
    Par yancimer dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/09/2006, 16h54
  3. Problème avec les float
    Par sandytarit dans le forum Requêtes
    Réponses: 8
    Dernier message: 03/08/2006, 21h04
  4. [XHTML] problème avec les float:left
    Par glloq8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/11/2005, 17h15
  5. [debutant] problème avec type à utiliser
    Par mlequim dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 15/07/2005, 16h08

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