JS не хранит в типах данных float и double количество значащих цифр как это делают другие языки (и сокращают до последней значащей автоматически для удобства и устранения ошибок)
любой другой известный мне в этом язык кроме JS учтёт количество значащих знаков и представит операцию по сложению двух double как var x = (0.2 * 10 + 0.1 * 10) / 10;