У меня есть следующая функция javascript для округления:
function round(val, numberdigits){
return Math.round(val*Math.pow(10, numberdigits))/Math.pow(10, numberdigits);
}
В большинстве случаев он выполняет свою работу хорошо, но в некоторых редких случаях возвращаемое значение имеет на одну цифру больше, что всегда равно 5.
Пример списка результатов с numberofdigits = 3:
5,329 - 5,081 - 4,271 - 3,271 - 2,1525 - 2,1375 - 2,1225 - 1,997 - 2,044 - 2,031 - 2,028
Может кто-нибудь объяснить это? Или, может быть, предоставит мне лучшую функцию округления, которая предотвращает эту проблему?