Que sí, que la función está bien.
multiplica por 100
coge la parte entera !!
divide entre 100
(la primera vez que ví la función, también me pasé por alto el "int" y los paréntesis

)
El segundo paso se os coló

, que precisamente es la que elimina los posibles decimales que tenga. Así solo se queda con 2 decimales.
Yo declaraba todas las variables como Currency y así evitaba esa función y el fallo inherente a los Floats/Extended
que nunca guardarán el valor que representa, siempre guardará una aproximación.
Si usas Bases de datos, cambia el tipo también a Currency o NUMERIC(10,2) (en interbase y firebird con dialecto 3).
Si eso, pregunta

.
Saludos