Показать сообщение отдельно
  #7 (permalink)  
Старый 01.02.2012, 07:26
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Shaci
часто приходилось использовать на практике( порядки больше 20)?
ни разу и скорее всего не придется, но чтобы тебя это не смущало я поставил ограничение.


Number.prototype.round = function(a) {
	if(a < 0 || a > 19) throw new RangeError("round() digits argument must be between 0 and 20");
	var b = Math.pow(10, a || 0);
	return  Math.round(this * b) / b;
}


alert( 11.6546546 .round() )
alert( 11.6546546 .round(2) )
alert( 11.6546546 .round(-1) )
alert( 11.6546546 .round(21) )
alert( typeof  11.6546546 .round() )


Сообщение от melky
11.6546546 .round(2)
//==>
11.6546546 .toFixed(2) * 1.0
Вообще-то это делается так
alert(typeof 11.6546546 .toFixed(2))
alert(typeof +11.6546546 .toFixed(2))


а еще, допустим у меня число 152 и мне хочется округлить до сотен, я прост делаю 152.round(-2)

Сообщение от melky
очень много телодвижений ...
Где это много то)?

Последний раз редактировалось Livaanderiamarum, 01.02.2012 в 08:45.
Ответить с цитированием