Newsgroup: it.comp.lang.delphi
Titolo: valore decimale

Un aiuto per un povero principiante.    Uso Delphi 2.
Ho 3 TEdit : uno per i chilometri percorsi, uno per le ore impiegate e uno
per la velocità.
Immettendo i primi 2 dati e cliccando su un bottone dovrei poter ottenere la
velocità nel terzo TEdit (compresi i valori decimali).
Sono riuscito ad ottenere solo il valore come numero intero mentre vorrei
poter avere anche i decimali
procedure TForm1.calcolaClick(Sender: TObject);
   var km,
         hr: Real;
         vel: Integer;
    begin
             km:= STRtoINT(chilometri.text);
             hr:= STRtoINT(ora.text);
             vel:=Round(km/hr);
             velocita.text:= INTtoSTR(vel);
    end;
Grazie per eventuali aiuti.

 wrote in message
YGtR7.285740$sq5.13...@news.infostrada.it...

all'inizio dici che la tua variabile vel è un intero e poi fai un
Round(km/hr) che se non ricordo male da il valore intero di un numéro con
decimali....
prova a cambiare vel : integer con vel : float o vel : real.
così...
procedure TForm1.calcolaClick(Sender: TObject);
    var km,
          hr: Real;
          vel: Float;
     begin
              km:= STRtoINT(chilometri.text);
              hr:= STRtoFloat(ora.text);
              vel:=(km/hr);
              velocita.text:= FloatToStr(vel);
     end;
spero di esserti stato di aiuto
Salvatore GIGLIUTO

    end;
Provieni dal Pascal, vero? (Invece di Real, in Object Pascal si usa
Double ;) 
Per quanto riguarda il tuo problema, dovresti usare StrToFloat e
FloatToStr per convertire una stringa in un tipo floating-point.
-- 
(*metallikop*libero*it*)
{
http://web.tiscali.it/mbsoftware
}
{
http://digilander.iol.it/metallikop
}

Double ;) 
In Object Pascal si puo' usare sia Real che Double: sono
esattamente la stessa cosa.

Huckleberry Finn ha scritto 9 righe per esprimere il seguente
concetto:

Lo so benissimo che sono la stessa cosa, ma in Delphi la prassi
normale è usare Double, Real lo usa spesso chi proviene dal Pascal per
Dos, questo intendevo dire.




A dire la verita il Double è il Real non sono porpio la stessa cosa...
il Real sta a meta tra il single e il double...
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596

il Real sta a meta tra il single e il double...
Dall'help di Delphi5:
"The generic type Real, in its current implementation, is equivalent
to Double."


il Real sta a meta tra il single e il double...
Falso.

On Tue, 11 Dec 2001 23:03:45 GMT, Unforgiven
<unfor...@somehost.somedomain> wrote:
"in Object Pascal si usa Double"
"in Delphi la prassi normale è usare Double"
Sono due frasi diverse.

to Double."
Sucsate io ero rimasto a:
Type     ¦ Range               ¦ Digits ¦ Bytes
---------+---------------------+--------+------
real     ¦ 2.9e-39..1.7e38     ¦ 11-12  ¦  6
single   ¦ 1.5e-45..3.4e38     ¦  7-8   ¦  4
double   ¦ 5.0e-324..1.7e308   ¦ 15-16  ¦  8


Huckleberry Finn ha scritto 9 righe per esprimere il seguente
concetto:

Quanto sei precisino :)


Grazie per l'aiuto, in effetti con  FloatToString funziona.
Se posso abusare ancora della Vs gentilezza vorrei sapere come farmi
visualizzare un solo numero decimale piuttosto che 7 o 8.
Se non ho capito male c'è il parametro  Precision che però non sono riuscito
a far funzionare (Acc. maledetto inglese)
Cmq grazie per il gentile aiuto

visualizzare un solo numero decimale piuttosto che 7 o 8.
Stringa := Format('%.1f', [Numero]);