Функция округления числовых значений, идентичная одноименной в PHP.
Функция:
function round (value, precision, mode) { var m, f, isHalf, sgn; precision |= 0; m = Math.pow(10, precision); value *= m; sgn = (value > 0) | -(value < 0); isHalf = value % 1 === 0.5 * sgn; f = Math.floor(value); if (isHalf) { switch (mode) { case 'PHP_ROUND_HALF_DOWN': value = f + (sgn < 0); break; case 'PHP_ROUND_HALF_EVEN': value = f + (f % 2 * sgn); break; case 'PHP_ROUND_HALF_ODD': value = f + !(f % 2); break; default: value = f + (sgn > 0); } } return (isHalf ? value : Math.round(value)) / m; }
Применение:
var rounded_value = round (value, precision, mode);
value - число, которое необходимо округлить
precision - точность округления, кол-во знаков после запятой (1 - до десятый, 2 - до сотых и т.д.)
mode - режим округления (режимы идентичны php: PHP_ROUND_HALF_UP (по-умолчанию), PHP_ROUND_HALF_DOWN, PHP_ROUND_HALF_EVEN или PHP_ROUND_HALF_ODD)
rounded_value - переменная с округленным числом
Комментариев нет:
Отправить комментарий