Puoi ottenere la parte intera o decimale di un valore in virgola mobile usando le funzioni Int e Frac.
Eccoti un esempio puramente indicativo:
codice:
procedure TForm1.Button1Click(Sender: TObject);
var
n, i, f: Double;
begin
n := 2452566.66586;
i := Int(n);
f := Frac(n);
end;
In questo codice, la variabile i assume il valore 2452566, mentre la variabile f assume il valore 66586.
Occorre notare che si tratta sempre di valori in virgola mobile, sebbene il primo sia costituito dalla parte intera del valore originale, mentre il secondo dalla parte frazionaria (a destra della virgola).
Va da sè che, se devi ottenere tali valori partendo da un testo (quindi una stringa), prima devi effettuare la conversione in valore a virgola mobile usando la funzione StrToFloat.
Per convertire correttamente la stringa, il separatore decimale utilizzato deve essere valido e questo dipende dal sistema in cui ti trovi. La variabile DecimalSeparator contiene il carattere valido come separatore decimale, quindi puoi sostituire punto o virgola col separatore sicuramente corretto in un modo simile a questo:
codice:
procedure TForm1.Button1Click(Sender: TObject);
var
n, i, f: Double;
s: string;
c: Integer;
begin
s := Edit1.Text;
for c := 1 to Length(s) do
if s[c] in ['.', ','] then
s[c] := DecimalSeparator;
n := StrToFloat(s);
i := Int(n);
f := Frac(n);
end;
Il valore decimale inserito nella casella di testo Edit1 viene memorizzato in una variabile stringa locale; facendo la scansione della stringa, ogni carattere che corrisponda ad un punto (.) o ad una virgola (,) viene sostituito col separatore "ufficiale" dei decimali (probabilmente risulterà essere uno dei due).
Quando la stringa è pronta, viene convertita in un effettivo valore a virgola mobile, di cui vengono prese le parti intera e decimale per sottoporle ad ulteriori elaborazioni.
Un avvertimento: il modo in cui la CPU tratta i decimali può fare in modo che un valore scritto come 0,45 venga successivamente elaborato come qualcosa del tipo 0,4999999999999....
Spero di averti dato sufficienti indicazioni.
Ciao!