dec
30-06-2006, 13:48:41
¿Valores extraños con la función Round()?
Bajo un punto de vista de aplicaciones de gestión, devuelve valores extraños, pues el criterio de redondeo cuando la parte fraccionaria es 5 consiste en aumentar o no uno dependiendo si la parte entera es par o impar.
showmessage(floattostr(round(10.5))); // =>10
showmessage(floattostr(round(11.5))); // =>12
Si es preciso redondeos 'uniformes' entre las muchas manera que puede haber, una elegante sería sustituir Round por
trunc(x+0.5)
Bajo un punto de vista de aplicaciones de gestión, devuelve valores extraños, pues el criterio de redondeo cuando la parte fraccionaria es 5 consiste en aumentar o no uno dependiendo si la parte entera es par o impar.
showmessage(floattostr(round(10.5))); // =>10
showmessage(floattostr(round(11.5))); // =>12
Si es preciso redondeos 'uniformes' entre las muchas manera que puede haber, una elegante sería sustituir Round por
trunc(x+0.5)