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++Builder Discussion :

Conversion peut perdre des chiffres signicatifs


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut Conversion peut perdre des chiffres signicatifs
    Bonjour,

    Je suis présentement en train de convertir un logiciel que nous avions fait en C++ Builder 5 en C++ Builder 2006. Lorsque je compile en Builder 5, je n'ai aucune avertissement, cependant lorsque je compile avec Builder 2006, j'ai une foule d'avertissement. Il est à noter que dans les deux cas, tous les avertissements sont activées.

    La foule d'avertissement que j'obtient est toujours la même W8071 La conversion peut perdre des chiffres significatifs. Quand je double-click sur mon avertissement, il me renvoit toujours à un assignation sur un float.

    Par exemple :
    Il va me donner un avertissement sur "float a = 0.0;", mais si j'écris "float a = 0;" ou bien "double a = 0.0;" ou bien "float a = (float)0.0;". je n'ai pas cette avertissement. Et je ne veux pas convertir tout mes float en double, ni être obligé de caster avant d'assigner à mon float.

    Est-ce que quelqu'un peut m'aider ?

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Si tu es sur du fonctionnement de ton programme

    tu peut ajouter cette ligne

    et tu n'aura plus le message d'avertissement, mais ca ne résoudre pas ton problème pour autant

    mais bon vu que tu a déja du l'utilisé, ca ne devrait pas poser de problème

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut
    Tout de même je préfère ne pas avoir de messages d'avertissement et tout les avoir d'activer, est-ce que ce serait un bug ou simplement un option de compilation à propos des float que je pourrais avoir omis ?

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    je vien de tester la ligne

    et je n'ai pas eu d'avertissement :/
    donc il faudrait plus de code (principalement les entêtes) pour p-e trouver l'erreur

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut
    Citation Envoyé par Pendary
    je vien de tester la ligne

    et je n'ai pas eu d'avertissement :/
    donc il faudrait plus de code (principalement les entêtes) pour p-e trouver l'erreur
    Tu as tester en Builder 2006 avec toute les avertissements d'activer ? car par défaut, l'avertissement 8071 n'est pas active

    Si je créer un nouveau code, et que je ne mets que la ligne float a = 0.0, j'ai l'avertissement à la compilation.

    Mais tout de mème si je créer un nouveau projet, vois l'entête qu'il créé.

    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
    17
    18
    19
    20
    21
     //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit2.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm2 *Form2;
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::FormCreate(TObject *Sender)
    {
    	float a = 0.0;
    }
    //---------------------------------------------------------------------------
    [C++ Warning] Unit2.cpp(19): W8071 Conversion may lose significant digits
    [C++ Warning] Unit2.cpp(20): W8004 'a' is assigned a value that is never used
    [C++ Warning] Unit2.cpp(20): W8057 Parameter 'Sender' is never used

    sont les avertissements que j'ai.

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    effectivement, je n'avais pas tout les avertissements, je les ai donc activer

    ensuite j'utilise builder 6 et non pas le 2006, donc ca peut aussi venir de ça :/

    et j'ai tout recompilé pour tester et je n'ai pas d'avertissement, a part celui-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [C++ Avertissement] Unit1.cpp(58): W8004 'a' est affecté à une valeur qui n'est jamais utilisée
    mais pourquoi ne transforme tu pas tout tes float en double ?

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

Discussions similaires

  1. [XL-2003] Conversion des chiffres en Mois
    Par zahidovich dans le forum Excel
    Réponses: 6
    Dernier message: 02/09/2020, 09h04
  2. Réponses: 0
    Dernier message: 19/05/2009, 15h13
  3. Fonction de conversion des chiffres
    Par dok flint dans le forum IHM
    Réponses: 3
    Dernier message: 04/03/2009, 11h35
  4. Rentrer des chiffres commencant par un 0 sans le perdre.
    Par sebastien_oasis dans le forum IHM
    Réponses: 2
    Dernier message: 20/08/2007, 18h14
  5. Réponses: 10
    Dernier message: 23/10/2006, 09h43

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