IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Problème d'arrondi


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Ministar
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Par défaut Problème d'arrondi
    Bonjour !

    Je veux arrondir un décimal à deux chiffres après la virgule pour éviter le X.000000000001 qu'il me renvoie.
    J'ai regardé la FAQ et je trouve la méthode un peu farfelue...
    Il y a une fonction en Delphi qui n'existe pas sur Lazarus, que j'aimerais bien avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
    Description :
    • Appelez RoundTo pour arrondir AValue à la puissance de dix spécifiée.
    • AValue est la valeur à arrondir.
    • ADigit indique la puissance de dix à laquelle vous voulez arrondir AValue. Cela peut être toute valeur entre -37 et 37 (compris).
    • RoundTo utilise l'arrondi "de banque" pour déterminer comment arrondir la valeurs qui se trouvent exactement au milieu des deux valeurs ayant le nombre de chiffres significatifs souhaité. Cette méthode arrondit à un nombre pair dans le cas où AValue n'est pas plus proche d'une des deux valeurs.

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    Google is Ur friend :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function R2(const AValue : extended ; const ADigit : TRoundToRange) :
      extended ;
    var X : extended ; i : integer ;
    begin
      X := 1.0 ;
      for i := 1 to Abs(ADigit) do X := X * 10 ;
      if ADigit<0
        then Result := Round(AValue * X) / X
        else Result := Round(AValue / X) * X ;
      end {R2} ;

Discussions similaires

  1. Problème d'arrondi
    Par rigobert dans le forum C
    Réponses: 28
    Dernier message: 05/04/2006, 12h56
  2. problème d'arrondi à 2 chiffres après virgule
    Par nerick dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 17h26
  3. Problème d'arrondis
    Par steps5ive dans le forum Access
    Réponses: 5
    Dernier message: 09/12/2005, 17h35
  4. [DECIMAL] problème d'arrondi
    Par Boosters dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/11/2005, 15h30
  5. Problème d'arrondi
    Par ptitsoleil87 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/01/2005, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo