Сообщение от 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
|
очень много телодвижений ...
|
Где это много то)?