Arrondir un nombre

Signaler
Messages postés
2
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
23 mai 2003
-
Messages postés
6
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2004
-
bête petite question : comment arrondir, en pascal, un nombre entamé vers l'unité supérieure?
TRUNC + 1 n'est pas valable pour les nombres entiers...
ex: 2,1 -> 3
merci!

4 réponses

Messages postés
123
Date d'inscription
mercredi 2 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2004
2
Il y a la fonction Round :
function Round(X: Extended): Int64;

Copie de l'aide :

La fonction Round arrondit une valeur de type réel en valeur de type entier.

X est une expression de type réel. Round renvoie une valeur Int64 qui correspond à la valeur de X arrondie au nombre entier le plus proche. Si X se trouve exactement à mi-chemin entre deux nombres entiers, le résultat est toujours le nombre pair.

Si la valeur arrondie n'est pas comprise dans l'étendue Int64, une erreur d'exécution est générée ; vous pouvez la gérer à l'aide de l'exception EInvalidOp.
Messages postés
2
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
23 mai 2003

merci bcp pour la réponse!! toutefois le problème nest pas résolu : en réalité, le but est de facturer des minutes d'appel. ainsi, chaque minute entamée sera facturée. le round ne convient donc pas puisqu'il arrondit vers le bas avant le ,5 . c'est aussi pourquoi le 'trunc+1' ne convient pas: si la durée d'appel est égale à un nombre entier de minutes, on facturera une minute supplémentaire (si x=2, trunc+1 donnera x=3).
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
La fonction Ceil répond parfaitement à cette question :
Unité : Math
Catégorie : routines arithmétiques
function Ceil(const X: Extended):Integer;

Description
Appelez Ceil pour obtenir le plus petit entier supérieur ou égal à X. La valeur absolue de X doit être inférieure à MaxInt.  Par exemple :
Ceil(-2.8) = -2
Ceil(2.8) = 3
Ceil(-1.0) = -1
Ceil(2.01) = 3

May Delphi be with you
Messages postés
6
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2004

comment arrondir avec trunc:

trunc (x + 0.5)