es verdad lo que decis Maunix , yo me referia a que cuando haces la promocion hacia entero del float con el casting , que es lo que pasa con la parte decimal , si la redondea hacia abajo , hacia arriba o no se que otra cosa...
A pesar de que ya te han respondido, te pido consideres lo siguiente: un casteo, no es más que formatear una variable de una a otra. Es decir, un char lo casteamos en integer, un integer en un float. El proceso queda 'fijo' en el código y por ende no se lo modifica.
Esas rutinas, no saben qué valor tendrán las variables, simplemente transforman su resultado y por ende siempre truncan. No se meten con redondeos y esas cosas, porque ya no hablaríamos de un 'casteo' sino de una función diferente.
Saludos
Manolo, confieso que lo uso así como tu lo pusiste en mis códigos, pero la verdad no se me ocurrió cuando puse mi ejemplo
, y la verdad que hacía falta que lo ponga alguien porque es la forma más simple.