Comment retrancher le tout dernier chiffre et garder le reste originalement

Résolu
leading Messages postés 10 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 14 janvier 2011 - 30 oct. 2010 à 20:13
leading Messages postés 10 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 14 janvier 2011 - 1 nov. 2010 à 11:20
Salut!

J'ai une question liée à ceci. Je vous demande de m'aider. Car j'ai écrit les codes ci-dessous et me reste quelques lacunes.

J'ai trois edits: Edit_A, Edit_B et Edit_C
Dans Edit_A; j'écrit un nombre qui devra se repeter de cette manière dans Edit_B

var bonjour : double;
bonjour:= StrToFloatDef(edit_A, 0.0);
edit_B.Text:= FloatToStrF(bonjour, fffixed, 15,2);

Ça marche!


Mais j'aimerai qu'à chaque fois que j'inscrive un nombre dans Edit_A qu'il lui soit retranché toujours le tout dernier chiffre.
Par exemple: dans Edit_A: 574 et dans Edit_C: apparaitra que 57

voilà ce que j'ai essayé mais ça ne marche pas.

var bonjour : double;
bonjour:= StrToFloatDef(edit_A, 0.0);
edit_B.Text:= FloatToStrF(bonjour, fffixed, 15,-1);

Leading
Étudier et étudier encore pour apprendre

6 réponses

dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
1 nov. 2010 à 10:26
le plus simple si tu dois juste recopier le nombre enté à l'exeption du dernier chiffre c'est :

edit_B.text := copy(Edit_A.text,1,length(Edit_A.text)-1);
tout simplement

Dubois77
3
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
31 oct. 2010 à 07:51
Salut
essaye ceci :
edit_B.Text:= FloatToStrF(copy(bonjour,1,length(bonjour)-1), fffixed, 15,2);

Dubois77
0
leading Messages postés 10 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 14 janvier 2011
1 nov. 2010 à 00:24
Merci Dubois,
mais j'ai un bug à ce niveau (en rouge). Peux-tu m'aider s'il te plaît?
edit_B.Text:= FloatToStrF(copy(bonjour,1,length(bonjour)-1), fffixed, 15,2);


Leading
Étudier et étudier encore pour apprendre
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
1 nov. 2010 à 08:08
hum, je n'avais pas vu que bonjour n'était pas une chaîne !
il faut d'abord récupérer la chaîne totale
puis retirer le dernier caractère
var z:string;
---
z :=  FloatToStrF(bonjour, fffixed, 15,2);
edit_B.Text:= copy(z,1,length(z)-1); 


dubois77
0

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

Posez votre question
leading Messages postés 10 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 14 janvier 2011
1 nov. 2010 à 09:05
Ben, avec ton code
////////
var z:string;
---
z := FloatToStrF(bonjour, fffixed, 15,2);
edit_B.Text:= copy(z,1,length(z)-1);
////////

je reçois ceci dans edit_b: 1,13737542506666E30 au lieu de 57. Parce que j'ai mis dans edit_A 574. Donc, il ne devait que retrancher le 4 comme le tout dernier chiffre.


Et alors, j'ai ajouté dans ton code ceci une deuxième variable juste pour tester:

////////
var z : string;
var bonjour : double;
begin

bonjour:= StrToFloatDef(edit_A.Text, 0.0);
z := FloatToStrF(bonjour, fffixed, 15,2);
edit_B.Text:= copy(z,1,length(z)-1);
end;
///////

Malheureusement, je recois dans edit_B ceci: 574,0
J'ai encore une fois failli. Toujours pas de resultat.
0
leading Messages postés 10 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 14 janvier 2011
1 nov. 2010 à 11:20
Parfait, parfait, parfait.

Ça marche comme sur des roulettes.

Sincèrement merci,

Leading
Étudier et étudier encore pour apprendre
0
Rejoignez-nous