premetto ke ho delphi 2.0
come si fa a prendere un valore dalla tedit e trasformarlo in un numero di tipo real?
ho provato con strtoint ma funziona solo con gli interi![]()
vi prego aiutatemi!!
ciao![]()
premetto ke ho delphi 2.0
come si fa a prendere un valore dalla tedit e trasformarlo in un numero di tipo real?
ho provato con strtoint ma funziona solo con gli interi![]()
vi prego aiutatemi!!
ciao![]()
UP![]()
Credo esista una funzione StrToFloat o qualcosa del genereOriginariamente inviato da tia86
premetto ke ho delphi 2.0
come si fa a prendere un valore dalla tedit e trasformarlo in un numero di tipo real?
ho provato con strtoint ma funziona solo con gli interi![]()
vi prego aiutatemi!!
ciao![]()
Usa la funzione FloatToStr che ti mette a disposizione la unit SysUtils. Ecco un esempio di utilizzo:
In questo esempio, il testo contenuto in una casella di testo Edit1 viene convertito in valore a virgola mobile e memorizzato in una variabile locale di tipo Extended. In caso di errore nella conversione (intercettato dal blocco try...except, la variabile reale viene impostata a 0. Una successiva conversione da reale a stringa è necessaria per poter mostrare il valore inserito in una casella di messaggio; la conversione viene questa volta implementata chiamando la FloatToStr.codice:procedure TForm1.Button1Click(Sender: TObject); var r: Extended; begin try r := StrToFloat(Edit1.Text); except r := 0; end; ShowMessage(FloatToStr(r)); end;
Spero di esserti stato d'aiuto.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
ora ci provo
grazie a tutti
ciao![]()
A proposito... come si fa a sapere se l'utente in un Tedit appunto inserisce un numero (int o float che sia), delle lettere + numeri, delle lettere oppure niente? thx
Pknews
Open Source & open views
In Iraq stanno scrivendo la Costituzione. Diamogli la nostra. A noi non serve più. (Daniele Luttazzi)
Dal codice che ho suggerito a tia86 puoi facilmente dedurre che, nel caso in cui si verifichi l'eccezione, significa che è stato introdotto un testo non convertibile in numero, quindi contenente caratteri alfanumerici o simboli.
Penso che esista anche un'istruzione Val in grado di dirti qual è il primo carattere non valido individuato.
Per casi più complessi, consulta la Guida in linea di Delphi per scovare tutte le procedure messe a disposizione dall'ambiente per analizzare e manipolare le stringhe.
Se ti serve ulteriore aiuto, son qui.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
ok funziona
però utilizza la virgola e nn il punto
non c'è un modo x utilizzare il punto al posto della virgola?
ciao![]()
ho notato anke ke a volte mi da dei risultati abominevoli![]()
esiste un modo (tipo in pascal col "variabile:0:4") x impostare un determinato numero di cifre dopo la virgola?
Puoi forzare l'uso della virgola (o in generale, del separatore decimale) in questo modo:
Questo evento gestisce la pressione del tasto del controllo Edit e provvede a sostituire eventuali punti e virgole con il separatore decimale valido (rappresentato dalla variabile globale DecimalSeparator). Dovrebbe quindi adattarsi ad ogni occasione.codice:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key = '.') or (Key = ',') then Key := DecimalSeparator; end;
Per la formattazione del valore in virgola mobile, consulta la Guida in linea di Delphi per l'uso della funzione FormatFloat.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...