Имеет ли смысл после каждой математической операции производить округление для борьбы с неточными вычислениями?

Или не надо изобретать велосипед? А надо просто исходить из критичности неточных вычислений для работы программы, и там где это критично - использовать тип данных Decimal (в JS, видимо, реализуемый какой-нибудь сторонней библиотекой).

'use strict';
// Просто примеры.
var a = (0.1 + 0.2) * 10;
var b = (0.1 + 0.7) * 10;
// Без округления.
console.log(a);
console.log(b);
console.log(Math.ceil(a));
console.log(Math.floor(b));
// С округлением (хотя надо было уже после сложения округлять).
console.log(Math.round(a * 100) / 100);
console.log(Math.round(b * 100) / 100);
console.log(Math.ceil(Math.round(a * 100) / 100));
console.log(Math.floor(Math.round(b * 100) / 100));

'use strict';
function r(a) {
  return Math.round(a * 100) / 100;
}
console.log((r(5 / 2 * 10)).toFixed(100));
console.log((r(r(5 / 2) * 10)).toFixed(100));


Ответы (2 шт):

Автор решения: openman2077 error
в зависимости от задачи и важности
например в java банковский софт для подсчёта денег 
используется int - т.е. целочисленный тип, т.к. погрешности с такими вещами, 
как деньги - неприемлемы :)
→ Ссылка
Автор решения: hwak

Округляя промежуточные результаты вычисления вы уменьшаете точность итогового результата. Для борьбы с неточными вычислениями обычно прибегают к повышению точности, например, увеличением количества знаков после запятой. При округлении результата нужно убедится в том, что стратегий округления одинаковы во всех местах.

→ Ссылка