Bonjour,
J'aimerais faire un petit calcul en delphi :
var
a: integer;
b: integer;
c: integer;
begin
a:= strtoint(nini.Text);
b:= strtoint(p.Text);
if red.Checked then
b:= b/100;
c:= a*b;
Memo1.Lines.Add(inttostr(c));
end;
Ce que j'aimerais faire c'est diviser la valeur de la variable b par 100 mais lorsque j'execute il me dit type incompatible integer et extended incompatible. Je suppose que le "/" n'est pas le bon signe de division.
Pourriez vous m'aider svp,
cordialement.
Merci Cirec,
J'ai fait comme tu m'as dit mais lorsque que je fais b div 100 la valeur de b devient 0. Du coup j'ai été dans l'aide et comme indiqué j'ai créé :
function Diviser(X, Y: Integer): Integer; overload;
begin
Result := X div Y;
end;
puis à la place de b div 100, j'ai mis :
Diviser(b, 100)
Mais la valeur de b devient toujours 0 !
Div ne renvoie que [la partie entière d'une division]:
5 / 100 = 0.05
5 Div 100 = [0].05
pour avoir la valeur réelle if faut changer de type de variable. Ex.
Sur une fiche (nouvelle application) tu pose deux TLabel
et un TButton
Tu double cliques sur le bouton et tu complètes comme suit:
procedure TForm1.Button1Click(Sender: TObject);
Var a, b, c : Integer;
E : Extended;
begin a := 5;
b := 7;
C := (b Div 100) * a;
Label1.Caption : = IntToStr(c);
E := (b / 100) * a;
Label2.Caption := FloatToStr(E);
end ;
Merci encore cirec,
Comme vous l'avez surement remarqué, je calcule des pourcentages precedemment c'etait pour effectuer des réductions et maintenant pour l'augmentation j'ai encore un probleme, voivi le code :
var
a: integer;
b: extended;
c: extended;
d: string;
begin
a:= strtoint(nini.Text);
b:= strtofloat(p.Text);
d:= '1.'+floattostr(b);
b:= strtofloat(d);
c:= a*b;
Memo1.Lines.Add(floattostr(c));
end;
Si je rends 50 pour p.Text soit b, le resultat est 1.50 et quand j'appuie sur le boutton j'ai un message d'erreur :
'1.50' n'est pas une valeur flottante correct.