rayos, tecnicamente se me olvido porque era. pero es algo como que javascript tiene un error de presicion cuando se realizan operaciones aritmeticas. mas bien yo creo que sucede porque javascript realmente no tiene valor de tipo integer o entero (int), sino que todos los numeros son de tipo flotante (float). para solucionarlo, pues de momento lo que se me ocurre es verificar si existe una secuencia larga de ceros y que termine en uno. para ello hay que primero convertir el numero a string y luego usar expresiones regulares en replace. en este ejemplo se verifica si existe una secuencia de 3 ceros o mas.
Código:
String(2.89 * 3.45).replace(/0{3,}1$/, "")