A bien y réfléchir, je pense que ce que voudrait Dring c'est de la virgule fixe façon COBOL comme le propose Ada, qui permet de ranger directement dans des "décimaux" des littéraux et qui le prévienne dès qu'on sort des bornes ou qu'on descend en dessous du delta spécifié
typemy_decisdelta0.01range-100.0..100.0;
Alors si tu écris
s:my_dec;begins:=0.001;[...]
tu te prends une erreur de compilation 'value has extraneous low order digits'
Si ça arrive au runtime, ça te lève une exception que tu peux intercepter et gérer.
Idem si tu sors de la plage de my_dec. Si maintenant tu écris
s,t:my_dec;begins:=1.8;t:=0.2;s:=2.0-s-t;-- L'affichage de s écrit 0.00 comme attendu dans son domaine d'application[...]
[^] # Re: Il faut bien lire ce qu'on lit!
Posté par snowball (site web personnel) . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 2.
A bien y réfléchir, je pense que ce que voudrait Dring c'est de la virgule fixe façon COBOL comme le propose Ada, qui permet de ranger directement dans des "décimaux" des littéraux et qui le prévienne dès qu'on sort des bornes ou qu'on descend en dessous du delta spécifié
Alors si tu écris
tu te prends une erreur de compilation 'value has extraneous low order digits'
Si ça arrive au runtime, ça te lève une exception que tu peux intercepter et gérer.
Idem si tu sors de la plage de my_dec. Si maintenant tu écris