Avere:..formattazione di un galleggiante a ### ## (due decimali)
var
Difference: DWORD // difference shows in milliseconds
// List.Items.Count can be any 0 to ########
[...]
sb.panels[2].Text := FloatToStr((((List.Items.Count)/difference)/1000));
voglio formattare il testo risultante a qualsiasi ### ## (due decimali). L'utilizzo di FloatToStrF non ha esito positivo (non sembra funzionare con DWORD).
Grazie
Se l'OP vuole mostrare il tempo necessario per elaborare un elemento dell'elenco, non dovrebbe essere qualcosa del tipo: "Some Flo: = 0.001 * (differenza/List.Items.Count); " anziché? Ovviamente 0 articoli devono essere gestiti prima ... – mghie
Sì, devo dividere. EventPerMinute: = List.Items.Count/difference/1000; Alcune soluzioni: sb.panels [2] .Text: = floattostr (eventeperminute); // OK ma non formattato sb.panels [2] .Text: = floattostrF (EventPerMinute, ffNumber, 4,3); // sempre 0 sb.panels [2] .Text: = Formato ('% f', [eventperminute]); // sempre 0 sb.panels [2] .Text: = FormatFloat ('#, ## 0', EventPerMinute); // sempre 0 --------------- Questo calcolo è su un evento Timer, attivato ogni 1000 ms. – volvox
se ci sono 10 voci di lista in 5000 millisecondi, quindi 10/5000/1000 produrrà 0,000002 - non c'è da meravigliarsi se si ottiene zero! Anche se fai come suggerisco, 10/(5000/1000) = 2 questo è negli eventi PER SECONDO non al minuto. Per minuto, dovresti dividere per 60000! – Argalatyr