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

VB.NET Discussion :

Probleme de précision


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut Probleme de précision
    Salut a tous,

    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
     'Series
            For Delta = DeltaMin To DeltaMax Step DeltaIncrement
                YMDChart.Series.Add("Delta " & Round(Delta, 2).ToString & "°")
            Next
     
            For Beta = BetaMin To BetaMax Step BetaIncrement
                YMDChart.Series.Add("Beta " & Round(Beta, 2).ToString & "°")
            Next
     
            'Points
            Delta = DeltaMin
            For d = 0 To DeltaStep Step 1
                Beta = BetaMin
                For b = 0 To BetaStep Step 1
                    YMDChart.Series("Delta " & Round(Delta, 2) & "°").Points.AddXY(LatAccelGraph(b, d), YawMomGraph(b, d))
                    YMDChart.Series("Delta " & Round(Delta, 2) & "°").Color = Color.FromArgb(100 + CInt(155 * (d / DeltaStep)), Color.Blue)
                Next
                Delta = Delta + DeltaIncrement
            Next
    Dans ce code, Delta est un décimal, DeltaIncrement aussi.

    Pour un DeltaIncrement du genre 1.66666666666667 la boucle 'Points plante et me dit ne pas avoir trouvé la serie nommé delta 10.00°....

    En mettant le pointeur sur delta j'ai 10.0000000000005, mais çà c'est avant l'arrondi à deux décimals...alors quoi?

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Le fait d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (...)& Round(Delta, 2).ToString &(...)
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (...)& Round(Delta, 2) &(...)
    dans les dernière lignes de votre code n'y changerait rien ?

    Une alternative serait la syntaxe : Delta.ToString("0.00")

    Attention également à la localisation : votre séparateur décimal est-il "," ou "." ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Citation Envoyé par franticfranz Voir le message
    Le fait d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (...)& Round(Delta, 2).ToString &(...)
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (...)& Round(Delta, 2) &(...)
    dans les dernière lignes de votre code n'y changerait rien ?
    Bien tenté mais non...

    Citation Envoyé par franticfranz Voir le message
    Attention également à la localisation : votre séparateur décimal est-il "," ou "." ?
    Le je ne vois pas...
    C'est en rapport avec le language du clavier...?

  4. #4
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Bonjour,

    A priori le problème de "." et de "," n'est pas la bonne piste.

    J'ai tenté une version un peu simplifiée de votre code chez moi et ça fonctionne. J'ai beau reparcourir le code, je n'y vois pas d'erreur de syntaxe.

    La seule éventualité, c'est que la série "Delta 10.00°" ne soit pas créée : l'erreur se trouverait donc quelque part dans les boucles.

    Combien valent DeltaMin et DeltaMax ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Merci pour votre aide.

    Effectivement cette dernière valeur ne semble pas passé. quand l'increment arrive à deltamax (10) la boucle se finit.

    J'ai essayer avec +1, mais çà provoque d'autre erreurs.

    Je devrais pouvoir me débrouiller

    Merci.

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Le problème c'est que la boucle arrive à 8.3333333333, il reste un increment à 1.6666666666 ce qui donne 9.999999999, alors que deltaMax vaut 10, et ne pass pas dans la boucle.

    En revanche la boucle qui ajoute les points (et qui est construit de la même manière) atteins 10 est réclame cette série...

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

Discussions similaires

  1. Gtk::DrawingArea et Gdk::Pixbuf, probleme de précision.
    Par Forseti dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 06/03/2012, 13h19
  2. Réponses: 21
    Dernier message: 01/09/2011, 09h56
  3. Probleme de précision
    Par gil38 dans le forum C++
    Réponses: 8
    Dernier message: 13/03/2007, 15h46
  4. [java2D] Probleme de précision de tracé
    Par olivier__ dans le forum 2D
    Réponses: 9
    Dernier message: 27/07/2005, 17h09
  5. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50

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