Baseline Widely available
СводкаÐеÑод Math.round()
возвÑаÑÐ°ÐµÑ ÑиÑло, окÑÑглÑнное к ближайÑÐµÐ¼Ñ ÑеломÑ.
ÐÑли дÑÐ¾Ð±Ð½Ð°Ñ ÑаÑÑÑ ÑиÑла болÑÑе, либо Ñавна 0,5, аÑгÑÐ¼ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð¾ÐºÑÑглÑн до ближайÑего болÑÑего Ñелого. ÐÑли дÑÐ¾Ð±Ð½Ð°Ñ ÑаÑÑÑ ÑиÑла менÑÑе 0,5, аÑгÑÐ¼ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð¾ÐºÑÑглÑн до ближайÑего менÑÑего Ñелого.
ÐоÑколÑÐºÑ Ð¼ÐµÑод round()
ÑвлÑеÑÑÑ ÑÑаÑиÑеÑким меÑодом обÑекÑа Math
, Ð²Ñ Ð²Ñегда Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ ÐµÐ³Ð¾ как Math.round()
, а не пÑÑаÑÑÑÑ Ð²ÑзÑваÑÑ Ð¼ÐµÑод на Ñозданном ÑкземплÑÑе обÑекÑа Math
(поÑколÑÐºÑ Ð¾Ð±ÑÐµÐºÑ Math
не ÑвлÑеÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑоÑом).
Math.round()
// ÐеÑнÑÑ Ð·Ð½Ð°Ñение 20
x = Math.round(20.49);
// ÐеÑнÑÑ Ð·Ð½Ð°Ñение 21
x = Math.round(20.5);
// ÐеÑнÑÑ Ð·Ð½Ð°Ñение -20
x = Math.round(-20.5);
// ÐеÑнÑÑ Ð·Ð½Ð°Ñение -21
x = Math.round(-20.51);
// ÐеÑнÑÑ Ð·Ð½Ð°Ñение 1 (!)
// ÐбÑаÑиÑе внимание на оÑÐ¸Ð±ÐºÑ Ð¾ÐºÑÑÐ³Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·-за неÑоÑноÑÑи аÑиÑмеÑики Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей запÑÑой
// СÑавниÑе ÑÑÐ¾Ñ ÑезÑлÑÑÐ°Ñ Ñ ÑезÑлÑÑаÑом Math.round(1.005, -2) из ÑледÑÑÑего пÑимеÑа
x = Math.round(1.005 * 100) / 100;
ÐÑимеÑ: коÑÑекÑиÑовка окÑÑÐ³Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÑÑÑиÑнÑÑ
дÑобей
// ÐамÑкание
(function () {
/**
* ÐоÑÑекÑиÑовка окÑÑÐ³Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÑÑÑиÑнÑÑ
дÑобей.
*
* @param {String} type Тип коÑÑекÑиÑовки.
* @param {Number} value ЧиÑло.
* @param {Integer} exp ÐоказаÑÐµÐ»Ñ ÑÑепени (деÑÑÑиÑнÑй логаÑиÑм оÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑÑекÑиÑовки).
* @returns {Number} СкоÑÑекÑиÑованное знаÑение.
*/
function decimalAdjust(type, value, exp) {
// ÐÑли ÑÑÐµÐ¿ÐµÐ½Ñ Ð½Ðµ опÑеделена, либо Ñавна нÑлÑ...
if (typeof exp === "undefined" || +exp === 0) {
return Math[type](value);
}
value = +value;
exp = +exp;
// ÐÑли знаÑение не ÑвлÑеÑÑÑ ÑиÑлом, либо ÑÑÐµÐ¿ÐµÐ½Ñ Ð½Ðµ ÑвлÑеÑÑÑ ÑелÑм ÑиÑлом...
if (isNaN(value) || !(typeof exp === "number" && exp % 1 === 0)) {
return NaN;
}
// Сдвиг ÑазÑÑдов
value = value.toString().split("e");
value = Math[type](+(value[0] + "e" + (value[1] ? +value[1] - exp : -exp)));
// ÐбÑаÑнÑй Ñдвиг
value = value.toString().split("e");
return +(value[0] + "e" + (value[1] ? +value[1] + exp : exp));
}
// ÐеÑÑÑиÑное окÑÑгление к ближайÑемÑ
if (!Math.round10) {
Math.round10 = function (value, exp) {
return decimalAdjust("round", value, exp);
};
}
// ÐеÑÑÑиÑное окÑÑгление вниз
if (!Math.floor10) {
Math.floor10 = function (value, exp) {
return decimalAdjust("floor", value, exp);
};
}
// ÐеÑÑÑиÑное окÑÑгление ввеÑÑ
if (!Math.ceil10) {
Math.ceil10 = function (value, exp) {
return decimalAdjust("ceil", value, exp);
};
}
})();
// ÐкÑÑгление к ближайÑемÑ
Math.round10(55.55, -1); // 55.6
Math.round10(55.549, -1); // 55.5
Math.round10(55, 1); // 60
Math.round10(54.9, 1); // 50
Math.round10(-55.55, -1); // -55.5
Math.round10(-55.551, -1); // -55.6
Math.round10(-55, 1); // -50
Math.round10(-55.1, 1); // -60
Math.round10(1.005, -2); // 1.01 -- ÑÑавниÑе ÑÑÐ¾Ñ ÑезÑлÑÑÐ°Ñ Ñ ÑезÑлÑÑаÑом Math.round(1.005*100)/100 вÑÑе
// ÐкÑÑгление вниз
Math.floor10(55.59, -1); // 55.5
Math.floor10(59, 1); // 50
Math.floor10(-55.51, -1); // -55.6
Math.floor10(-51, 1); // -60
// ÐкÑÑгление ввеÑÑ
Math.ceil10(55.51, -1); // 55.6
Math.ceil10(51, 1); // 60
Math.ceil10(-55.59, -1); // -55.5
Math.ceil10(-59, 1); // -50
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
Math.abs()
Math.ceil()
Math.floor()
Math.sign()
ÐкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑMath.trunc()
ÐкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4