MULTIPLICATION DE NOMBRES

Résolu
guy jeuniaux Messages postés 35 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 27 avril 2010 - 11 déc. 2004 à 12:47
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 11 déc. 2004 à 23:45
Quelqu'un pourait il me dire la conversion à faire pour multiplier :

1,2*100=120

en sachant que 1,2 est saisi dans un Edit.

j'essaie :
n1:=strtofloat(edit1.text);
n:=(???????(n1)*100);
quelque soit la fonction de converstion que j'utilise le message d'erreur est toujours le même : "1,2" n'est pas une valeur correcte
ce qui est évident!
même en mettant n1:extended; etc...
j'arrive pas à trouver de solution , même sur les forums.
Peut être je cherche pas au bon endroit

Alors si quelqu'un peut m'aider ce serait sympa
MERCI
guy

5 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
11 déc. 2004 à 13:29
Je vois pas où est le problème....
Chez moi, ceci marche :
procedure TForm1.Button1Click(Sender: TObject);
var
n1 : Extended;
n2 : Extended;
begin
n1:=strtofloat(edit1.text);
n2:=(n1*100);
ShowMessage(FloatToStr(n2));
end;


Es-tu sur que tu tapes 1,2 avec une VIRGULE et pas avec un POINT (1.2) :question)

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
3
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
11 déc. 2004 à 13:34
Ici, le nombre à virgule est dans l'Edit, pas dans le code à ce que j'ai compris...

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
3
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
11 déc. 2004 à 13:30
Les nombres à virgule prennent une virgule lorsqu'ils viennent d'une chaîne. Dans Delphi, ils sont marqués par un point.

var n : integer;
n1, n2, n3 : extended;
begin
  n1:=StrToFloat(LEdit.Text);
  n2:=1.2;
  n:=1.2; //ERREUR !!!
  n:=round(1.2*100);
  n3:=n1 / n2;
//mais
  n := n1 div n2;
end;

===========
Validez les réponses si ok...

ViewVite : HTML - ZIP
0
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
11 déc. 2004 à 18:52
ça dépend comment XP est défini pur le séparateur

sinon tu choisis ton separateur dans formcreate pour ton application (tu peux même changer pour chaque fonction dans une même application)

DecimalSeparator:=',';//pour virgule
DecimalSeparator:='.';//pour point
DecimalSeparator:='t';pour tonne
DecimalSeparator:='€'; pour euro
//etc....ce que tu veux


DrJerome
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
11 déc. 2004 à 23:45
Pas bête DrJerome ;)
Merci pour l'astuce !

@+
Bonne Prog'
Nico
0
Rejoignez-nous