Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - errore nel covertire
Forum - Delphi - errore nel covertire

Avatar
lucca (Normal User)
Pro


Messaggi: 84
Iscritto: 03/12/2009

Segnala al moderatore
Postato alle 15:29
Mercoledì, 27/04/2011
ciao a tutti sto facendo un programma in delphi e guardate:
Codice sorgente - presumibilmente Delphi

  1. if cinque.Text=' ' then
  2.   ShowMessage('devi mettere un numero in tutte le caselle')
  3. else
  4.   A5:=strTofloat(Cinque.text);



dove le variabili sono tutte tipo real. mi dice l'errore :
it is not a floating point value.

spero che mi rispondiate ciao

PM
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Up
2
Down
V
Segnala al moderatore
Postato alle 16:31
Mercoledì, 27/04/2011
io farei alcuni passi indietro.
1) il tuo campo edit "cinque" può avere in input solo numeri?
--se la risposta è si inizia con il castrare tutti gli altri caratteri
2) Di solito si usa trimmare, ossia togliere gli spazi, dunque la tua if diventa:
  if Trim(cinque.Text)='' then ......
3) esiste la funzione strtofloatdef, che vuole il tipo extended e data una stringa in ingresso e un valore di default in caso di errore hai come ritorno un default dunque
var A5: Extended;
...
A5:= StrToFloatDef(Cinque.text, 0);
...
G.


Ibis redibis non morieris in bello
PM
Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 15:33
Mercoledì, 27/04/2011
se usi i real devi contvertire il resto con StrToCurr(testo)
inoltre devi stare attento perchè mi pare che il numero che ci metti nella casella di testo deve avere la virgola e non il punto e poi prova a cambiare l'istruzione IF con questa if (cinque.text = ' ' ) then o if cinque.text:=' ' then

PM