Tener:..Formateo de un flotador a ### ## (dos decimales)
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));
quiero formatear el texto resultante a cualquier ### ## (dos decimales). Usar FloatToStrF no es exitoso (parece que no funciona con DWORD).
Gracias
Si el OP desea mostrar el tiempo necesario para procesar un elemento de la lista, ¿no debería ser algo así como: "SomeFloat: = 0.001 * (diferencia/List.Items.Count); " ¿en lugar? Por supuesto, 0 artículos deben manejarse antes ... – mghie
Sí, sí tengo que dividir. EventPerMinute: = List.Items.Count/difference/1000; Algunas soluciones: sb.panels [2] .Text: = floattostr (eventperminute); // OK pero no formateado sb.panels [2] .Text: = floattostrF (EventPerMinute, ffNumber, 4,3); // siempre 0 sb.panels [2] .Text: = Formato ('% f', [eventperminute]); // siempre 0 sb.panels [2] .Text: = FormatFloat ('#, ## 0', EventPerMinute); // siempre 0 --------------- Este cálculo se realiza en un evento Timer, que se dispara cada 1000 ms. – volvox
si hay 10 elementos de la lista en 5000 milisegundos, entonces 10/5000/1000 arrojará 0.000002 - ¡no es de extrañar que obtenga cero! Incluso si haces lo que sugiero, 10/(5000/1000) = 2 esto está en eventos POR SEGUNDO no por minuto. ¡Por minuto, tendrías que dividir por 60000! – Argalatyr