|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 3 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 433 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 3 ![]() |
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à. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : avril 2002 Messages : 2 278 ![]() |
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 |
|
|
00
|
|
|
#5 | |
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 433 ![]() |
Xie,
Citation:
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. |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 3 ![]() |
mod accepte seulement des types entiers ? S'agit t-il d'une autre fonction ?
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Étudiant Inscription : juin 2009 Messages : 936 ![]() |
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 ...
__________________
Articles : Création d'un système de chat en PascalProgrammes : Défi Pascal 2011 - Mon Tetris Défi Pascal 2010 - Mon système de chat Défi Delphi 2009 - Mon Sudoku SolverRetrouvez mes différents projets sur ma page personnelle. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com