Bonjour à toutes et à tous,
Je réalise une application sous Visual Basic Express 2010.
je me retrouve face à une incompréhension que je ne sais expliquer.
Pour les besoins d'une application d'étalonnage, je dois générer une liste de points(valeur Physique,valeur électrique)
Pour mes tests, je génère mon propre tableau de points.
En fait pour ranger ces points et les traiter efficacement par la suite, je les range dans un dictionnaire (Double,Double) ou la valeur physique est la clé.
je remplis mon dictionnaire comme ceci.
Jusqu'ici il n'y a pas vraiment de soucis. Ces valeurs sont affichées dans un DataGridView.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For y As Integer = 1 To 2500 Dico.Get_DicoPoints.Add(800 + y * 0.24, -5 + y * 0.004) Next
et ces valeurs affichées dans le DataGridView sont correctes
Par contre j'ai analysé en détail (espion) l'ensemble clé, valeur et il y a un phénomène que je ne comprends pas.
Certaines valeurs de clé sont incohérentes(de valeur aussi mais c moins grave):
Si je prends la calculette 800+(567*0.24)=936.08
Hors la valeur de clé de mon dictionnaire pour cet élément est:936.07999999999993....
Clés du dictionnaire:
Clés/Valeurs du dictionnaire:
Pourtant l'affichage dans le DataGridView est correct.
Ce qui fait que quand je me sers de mes valeurs du DataGridView pour modifier certaines valeurs notamment les clés, la fonction remove du dictionnaire ne marche pas. Logique vu que la valeur du DataGrid ne correspond pas à la valeur de la clé dans mon dictionnaire.
Voila j'espère avoir été assez clair.
Si quelqu'un peut réussir à m'expliquer ce problème, je le remercie d'avance.
ps: j'ai déjà trouvé une solution pour contourner le problème.
Partager