Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Inscrit en
    décembre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2011
    Messages : 3
    Points : 0
    Points
    0

    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é Sénior
    Inscrit en
    août 2006
    Messages
    3 550
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 550
    Points : 4 061
    Points
    4 061

    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.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  3. #3
    Invité de passage
    Inscrit en
    décembre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2011
    Messages : 3
    Points : 0
    Points
    0

    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 332
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : avril 2002
    Messages : 2 332
    Points : 3 404
    Points
    3 404

    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é Sénior
    Inscrit en
    août 2006
    Messages
    3 550
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 550
    Points : 4 061
    Points
    4 061

    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 ?
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  6. #6
    Invité de passage
    Inscrit en
    décembre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2011
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    mod accepte seulement des types entiers ? S'agit t-il d'une autre fonction ?

  7. #7
    Membre Expert

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2009
    Messages : 936
    Points : 1 611
    Points
    1 611

    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 ...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •