Bonjour à tous.
Je suis en train de faire un petit programme dan lequel j'ai besoin que toutes les valeur soient arrondies à l'entier supérieur.
Donc j'ai fait ça :
L'affaire se passe très bien jusqu'à à peu près 32000 après quoi la fonction me renvoi des valeurs aberrantes (négatives entre autre).Code:function MyRound( Value: real): integer; var result : integer; b : real; begin if ( (value - int(value) ) < 0.5 ) then begin b := value + 0.5; result := round(b); MyRound := result; end else begin result := round(value); MyRound := result; end; end;
Je vois pas pourquoi ça ne marche que pour certaines valeurs et pas d'autres, si quelqu'un voit on est le bug ce serai gentil de s'aiguiller.
Merci d'avance
++
-----