Давно уже сталкивался с такой проблемой, интересна природа этих аномалий, и как их решать, когда требуются подобные вычисления, например:
let a = 0.9;
let b = 0.3 * 3; // должно быть тоже 0.9
let result = a - b; // 0.9 - 0.9 = 0
console.log(result); // результат = 1.1102230246251565e-16
Ну а если же вместо 0.9 и 0.3 подставить целые числа, то результат предсказуем. Интересно почему это не фиксят, и как с этим бороться...