Nombre décimaux [Résolu]

buguetj 78 Messages postés lundi 25 octobre 2004Date d'inscription 5 avril 2012 Dernière intervention - 3 nov. 2006 à 10:17 - Dernière réponse : japee 1792 Messages postés vendredi 27 décembre 2002Date d'inscription 12 novembre 2016 Dernière intervention
- 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 

10 réponses

Répondre au sujet
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscription 3 avril 2018 Dernière intervention - 3 nov. 2006 à 14:22
+3
Utile
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" />
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec
Caribensila 2671 Messages postés jeudi 15 janvier 2004Date d'inscription 18 janvier 2018 Dernière intervention - 3 nov. 2006 à 11:27
0
Utile
Bonjour,
Utilise des nombres réels avec les types Single ou Double, par exemple...
Commenter la réponse de Caribensila
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 3 nov. 2006 à 11:32
0
Utile
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
cs_Loda 900 Messages postés vendredi 3 novembre 2000Date d'inscription 30 juillet 2009 Dernière intervention - 3 nov. 2006 à 11:52
0
Utile
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
buguetj 78 Messages postés lundi 25 octobre 2004Date d'inscription 5 avril 2012 Dernière intervention - 3 nov. 2006 à 12:57
0
Utile
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
buguetj 78 Messages postés lundi 25 octobre 2004Date d'inscription 5 avril 2012 Dernière intervention - 3 nov. 2006 à 16:35
0
Utile
A ok merci
Commenter la réponse de buguetj
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 4 nov. 2006 à 18:18
0
Utile
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
japee 1792 Messages postés vendredi 27 décembre 2002Date d'inscription 12 novembre 2016 Dernière intervention - 4 nov. 2006 à 22:18
0
Utile
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
japee 1792 Messages postés vendredi 27 décembre 2002Date d'inscription 12 novembre 2016 Dernière intervention - 4 nov. 2006 à 22:20
0
Utile
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
japee 1792 Messages postés vendredi 27 décembre 2002Date d'inscription 12 novembre 2016 Dernière intervention - 4 nov. 2006 à 22:43
0
Utile
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.