Nombre décimaux [Résolu]

Messages postés
78
Date d'inscription
lundi 25 octobre 2004
Dernière intervention
5 avril 2012
- - Dernière réponse : japee
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
- 4 nov. 2006 à 22:43
Bonjour, je voudrais savoir comment faire pour que quand on divise deux nombres le résultat soit un nombre décimal (à virgule).


J'ai essayer la fonction IntToStr et StrToInt mais aucune de ces deux fonction marche (c'est à dire que je n'ai qu'un nombre entier à la fin). et ni dans l'aide, ni dans le forum je n'ai trouvé se que je voulais.


Merci de aide à plus
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
39
3
Merci
Salut

pour obtenir un résultat à vigule il faut effectivement utiliser le type Real (où autres) mais faire attention à l'opérateur utilisé :

a Div b --> donnera toujours un entier
a / b --> donnera un résultat à vigule (bien sur en fonction des valeurs données à a et b)

 
@+
Cirec

<hr size="2" />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
12
0
Merci
Bonjour,
Utilise des nombres réels avec les types Single ou Double, par exemple...
Commenter la réponse de Caribensila
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
12
0
Merci
Si tu as cherché "haricot" ou "papier peint" ou "abri bus" je comprends que tu n'ai pas trouvé.
Par contre si tu cherches un TYPE de variable, alors tu trouveras de suite dans :
1- l'aide DELPHI (F1) avec le mot clé "TYPE" tous les types de variables et à quoi ils correspondent/servent.
2- google en cherchant avec ces mots clé "delphi nombre décimal conversion" ou aussi "TYPE DECIMAL DELPHI"
3- en utilisant la fonction recherche de delphifr.com calée sur "code" ou sur "forum" avec le mot clé "décimal" ou aussi "TYPE"

Bonne lecture, évite de poster inutilement =)

Mon site DELPHI =)
Commenter la réponse de JulioDelphi
Messages postés
900
Date d'inscription
vendredi 3 novembre 2000
Dernière intervention
30 juillet 2009
3
0
Merci
dans l'aide de Delphi, il y a une rubrique (onglet de gauche pour naviguer par rubrique) appelée "guide du language Delphi", tu y trouverra les concept de base classé par thème.

Dans "type de donnée, variable et constante" il y a des explication plustot clair et complète sur les type de données. Tu y trouverra les réponses au question de ce type.

bonne lecture,

PS: j'ai Delphi en anglais, c'est possible que les noms que j'indique soit légèrement différent.
Commenter la réponse de cs_Loda
Messages postés
78
Date d'inscription
lundi 25 octobre 2004
Dernière intervention
5 avril 2012
0
Merci
L'aide confirme bien ce qu'a dit  Caribensila c'est à dire d'utiliser des réel avec les types Single ou Double mais l'aide ne précise pas la syntaxe de la rédaction
Commenter la réponse de buguetj
Messages postés
78
Date d'inscription
lundi 25 octobre 2004
Dernière intervention
5 avril 2012
0
Merci
A ok merci
Commenter la réponse de buguetj
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
2 janvier 2019
34
0
Merci
ou encore :

S := format('%d,%d,[A div B, A mod B]);

<hr size="2" width="100%" />Croc (click me)
Commenter la réponse de f0xi
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
0
Merci
Attention, mod est le reste de la div.

Mais en y réfléchissant, et c'est très amusant, on peut faire (1 chiffre après la virgule) :

S := format('%d,%d',[A div B, ((A mod B) * 10) div B]);

Bonne prog'
Commenter la réponse de japee
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
0
Merci
Et pour 2 chiffres après la virgule, je viens de vérifier :

S := format('%d,%d',[A div B, ((A mod B) * 100) div B]);

etc...

Ca m'éclate...
Commenter la réponse de japee
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
0
Merci
Si vous trouvez plus tordu, n'hésitez pas :

uses Math;

function Div2IntegersAndGetAFloat(const A, B: Integer;
  const Length: Byte = 2): Extended;
begin
  Result := StrToFloat(Format('%d,%d', [A div B, ((A mod B) * Trunc(IntPower(10, Length))) div B]));
end;
Commenter la réponse de japee

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.