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

Langage Pascal Discussion :

Résultat aléatoire avec frac sur des extended


Sujet :

Langage Pascal

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Résultat aléatoire avec frac sur des extended
    Bonjour,

    je cherche à obtenir la valeur de l'unité d'un nombre entier (par exemple 3 pour 213,0) déclaré Extended. Pour cela, j'utilise la fonction frac, puis je multiplie par 10. Les résultats sont justes uniquement pour les nombres qui se terminent par cinq et zéro, sinon il manque 1.
    Avez vous une idée du problème ?

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Vie,

    Une première question est : pourquoi un type Extended pour travailler avec des entiers ?

    Sinon, donne des exemples de tes résultats, histoire de se faire une idée.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Le type Extended car j'ai besoin de connaitre le reste exacte des divisions, ce que ne permet pas DIV.

    des exemples : frac(73/10)*10 = 3 mais frac(5133/10)*10 = 2 !
    de même frac(4201/10)*10 = 1 mais frac(7201/10)*10 = 0 !

    Je doit faire une conversion pour pouvoir l'afficher dans un mémo : int64 := trunc(extended) mais je ne crois pas que le problème vienne de là.

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 463
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 463
    Points : 4 305
    Points
    4 305
    Par défaut
    Pourquoi ne pas utiliser un modulo 10, pour ne garder que les unités ? Je trouve l'utilisation de frac un peu compliquée là.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Xie,
    Citation Envoyé par pleomax Voir le message
    Le type Extended car j'ai besoin de connaitre le reste exacte des divisions, ce que ne permet pas DIV
    En Pascal, la division de 2 entiers donne un réel.

    C'est pourquoi il existe aussi l'opérateur div qui permet de faire une division entière.

    Un simple coup d’œil à un cours ou bouquin t'aurait appris ça (ou même un petit test, 2 lignes de programme à écrire !).

    Et +1 sur wormful_sickfoot.

    D'ailleurs , tu utilises trunc, tu sais donc de quoi il s'agit ... tu vois où ça conduit ?
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    mod accepte seulement des types entiers ? S'agit t-il d'une autre fonction ?

  7. #7
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    mod est, au même titre que div, un opérateur sur les entiers.

    Div renvoie le quotient de la division entière, mod renvoie le reste de cette division.

    Un petit tour sur le site ou sur google t'aurais donné la réponse ...

Discussions similaires

  1. [Toutes versions] Confusion de résultats dans recherche des occurrences d'une valeur avec Find sur des dates
    Par iperkut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2011, 20h07
  2. Tests unitaires avec vbUnit sur des contrôles utilisateurs
    Par Patrick Mortas dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/09/2006, 19h06
  3. requete sql avec between sur des champs de type Date
    Par ersoufiane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/08/2006, 20h43
  4. Réponses: 7
    Dernier message: 10/12/2005, 00h26

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