Вы МОЖЕТЕ попробовать более простую функцию ...
function roundOffTo(number, place) {
return Math.round(number * place) / place;
}
Как это работает?
Место может быть 10, 100, 1000, 10000 и так далее. Обратное значение будет 0,1, 0,01, 0,001 и т. Д. Допустим, ваш номер 16.185, а ваше место - 100. Первое, что он сделает, это умножит число на место, которое составляет 1618.5. Округление по Math.round приведет к 1619 году. Разделение по месту дает нам 16.19. Там.
Кстати, о проблеме .5 сегодня не нужно беспокоиться, она вроде как исправлена. Но на случай, если это не так, измените Math.round (число * место) на Math.round (число * место + 0,1).