Arrondir les float [Résolu]

Signaler
Messages postés
32
Date d'inscription
mardi 23 mars 2004
Statut
Membre
Dernière intervention
11 avril 2006
-
m_cyril1
Messages postés
59
Date d'inscription
mercredi 30 mars 2005
Statut
Membre
Dernière intervention
3 juin 2005
-
Question assez simple :



J'ai ceci :



edit20.Text := floattostr(strtofloat(edit29.Text)/caltva);



Avec caltva une variable. Ce qui me déplait c'est que le résultat donne par exemple : 49,87692846



Alors que je voudrais 49,87 a la limite 49,88.



Si vous pouviez m'aider sur ce petit problème.



Merci

3 réponses

Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006

Essaie la function simpleroundto.



Voici ce que dit l'aide Delphi



Call SimpleRoundTo to round AValue to a specified power of ten.



AValue is the value to round.



ADigit indicates the power of ten to which you want AValue rounded. It can be any value from –37 to 37 (inclusive).



SimpleRoundTo uses asymmetric arithmetic rounding to determine how to
round values that are exactly midway between the two values that have
the desired number of significant digits. This method always rounds to
the larger value.



The following examples illustrate the use of SimpleRoundTo:



Expression Value



SimpleRoundTo(1234567, 3) 1234000

SimpleRoundTo(1.234, -2) 1.23

SimpleRoundTo(1.235, -2) 1.24

SimpleRoundTo(-1.235, -2) -1.23

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
Messages postés
32
Date d'inscription
mardi 23 mars 2004
Statut
Membre
Dernière intervention
11 avril 2006

Merci Vincent.



J'ai aussi trouvé ceci qui me convient :



edit20.Text := formatfloat('0.00',(strtofloat(edit29.Text)/caltva));
Messages postés
59
Date d'inscription
mercredi 30 mars 2005
Statut
Membre
Dernière intervention
3 juin 2005

Merci benumiit82, grace à toi je sais enfin comment limiter mes décimales