Это не проблема округления, это проблема отображения. Номер не содержит информацию о значимых цифрах; значение 2 совпадает с 2.0000000000000. Когда вы преобразуете округленное значение в строку, у вас будет отображаться определенное количество цифр.
Вы можете просто добавить нули после числа, что-то вроде:
var s = number.toString();
if (s.indexOf('.') == -1) s += '.';
while (s.length < s.indexOf('.') + 4) s += '0';
(Обратите внимание, что это предполагает, что региональные настройки клиента используют точку в качестве десятичного разделителя, код требует дополнительной работы для работы с другими настройками.)