Bonjour,
Je viens de constater quelque chose d'étrange (enfin, à mon sens).
Résultat: affiche "Identiques"Code:
1
2
3 if System.Math.SameValue(System.Math.NaN, 256.36) then ShowMessage('Identiques');
Où est la logique qui m'échappe ?? :?
Version imprimable
Bonjour,
Je viens de constater quelque chose d'étrange (enfin, à mon sens).
Résultat: affiche "Identiques"Code:
1
2
3 if System.Math.SameValue(System.Math.NaN, 256.36) then ShowMessage('Identiques');
Où est la logique qui m'échappe ?? :?
Bonjour,
Citation:
Envoyé par Dans le source
Bonjour,
C'est comme si :
- T'as une voiture avec une boite 6 vitesses,
- Alors à un moment sur l'autoroute, tu passes la 6ème,
- Là la boite explose,
- Alors seulement tu lis la notice du véhicule (en bon français qui se respecte),
- Et tu lis en petits caractères : " Nota important : la 6ème vitesse est réservée aux tests en usine, ne pas utiliser si le véhicule n'est pas à l'arrêt.".
C'est pas parce que c'est écrit quelque part que c'est judicieux.
Juste mes 2 cents...
whaouh ! Donc tu as lu tout le code source de Delphi (si j'ai bien compris puisque tu parles de lire la notice avant utilisation :D) ?
Je suis impressionné. Le dernier qui m'a dit ça se nommait Olivier Dahan (oui oui, comme le type qui fait des films) et était surnommé Merlin.
Mais ça, ça remonte loin. Au temps des news sur nzn .... Les anciens s'en souviennent encore.
Je regrette les grandes discussions entre lui et Fred Brouard qui ont fait les grandes heures de cette époque :)
Oh pétard, j'ai fais un brusque retour dans le temps,... de combien... 20 ans ? ... avec un vague souvenir de lecture de ces échanges, c'était effectivement mémorable ! :D
Bon, je voudrais pas faire un HS, désolé, mais je me demande ce que Merlin est devenu, depuis qu'il est passé à C#, on ne le voit plus sur les forums Delphi...
https://www.developpez.com/user/profil/73/Merlin
sa dernière activité ici semble assez loin dans le temps
Bonjour,
sortie de son contexte je pense que le code indiqué ne veut rien dire, mais s'il s'agit de savoir si une valeur quelconque est ou n'est pas un nombre
je pense que ton code devrait être ceci
en testant 256.36/0 je pense que le message s'afficherait ;) pas essayé encoreCode:if System.Math.isNaN(256.36) then showmessage('identiques');
c'est un collègue qui a écrit:
et j'ai eu le problème au moment où une des deux valeurs était un nan.Code:
1
2
3
4
5 function ApproximativelyEquals(A, B: Single): Boolean; begin Result := SameValue(A, B, ComparisonPrecision); end;
C'est là que j'ai fouiné pour comprendre.