From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/global_objects/math/trunc/index.html | 137 +++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/math/trunc/index.html (limited to 'files/ru/web/javascript/reference/global_objects/math/trunc/index.html') diff --git a/files/ru/web/javascript/reference/global_objects/math/trunc/index.html b/files/ru/web/javascript/reference/global_objects/math/trunc/index.html new file mode 100644 index 0000000000..6e7b44147b --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/math/trunc/index.html @@ -0,0 +1,137 @@ +--- +title: Math.trunc() +slug: Web/JavaScript/Reference/Global_Objects/Math/trunc +tags: + - ECMAScript6 + - Experimental + - JavaScript + - Math + - Method + - Reference + - Функция + - целая часть +translation_of: Web/JavaScript/Reference/Global_Objects/Math/trunc +--- +
+
{{JSRef}}
+ +

Функция Math.trunc() возвращает целую часть числа путём удаления всех дробных знаков.

+ +
{{EmbedInteractiveExample("pages/js/math-trunc.html")}}
+ + +
+ +

+

Синтаксис

+

+ +
Math.trunc(x)
+ +

Параметры

+ +
+
x
+
Число.
+
+ +

Возвращаемое значение

+ +
+
x
+
Целая часть данного числа.
+
+ +

Описание

+ +

В отличие от других трёх методов объекта Math — {{jsxref("Math.floor()")}}, {{jsxref("Math.ceil()")}} и {{jsxref("Math.round()")}} — метод Math.trunc() работает очень просто. Отбрасывается запятая и все цифры после неё, не обращая внимания на знак аргумента.

+ +

Аргумент, переданный в этот метод, будет неявно преобразован в число.

+ +

Поскольку trunc() является статическим методом объекта Math, вы всегда должны использовать его как Math.trunc(), а не пытаться вызывать метод на созданном экземпляре объекта Math ( Math не является конструктором).

+ +

Примеры

+ +

Использование Math.trunc()

+ +
Math.trunc(13.37);    // 13
+Math.trunc(42.84);    // 42
+Math.trunc(0.123);    //  0
+Math.trunc(-0.123);   // -0
+Math.trunc('-1.123'); // -1
+Math.trunc(NaN);      // NaN
+Math.trunc('foo');    // NaN
+Math.trunc();         // NaN
+
+ +

Полифилл

+ +
if (!Math.trunc) {
+	Math.trunc = function(v) {
+		v = +v;
+		if (!isFinite(v)) return v;
+
+		return (v - v % 1)   ||   (v < 0 ? -0 : v === 0 ? v : 0);
+
+		// returns:
+		//  0        ->  0
+		// -0        -> -0
+		//  0.2      ->  0
+		// -0.2      -> -0
+		//  0.7      ->  0
+		// -0.7      -> -0
+		//  Infinity ->  Infinity
+		// -Infinity -> -Infinity
+		//  NaN      ->  NaN
+		//  null     ->  0
+	};
+}
+
+ +

Либо:

+ +
if (!Math.trunc) {
+	Math.trunc = function(v) {
+		v = +v;
+		return (v - v % 1)   ||   (!isFinite(v) || v === 0 ? v : v < 0 ? -0 : 0);
+	};
+}
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-math.trunc', 'Math.trunc')}}{{Spec2('ES2015')}}Первое определение
{{SpecName('ESDraft', '#sec-math.trunc', 'Math.trunc')}}{{Spec2('ESDraft')}} 
+ +

Поддержка браузерами

+ + + +

{{Compat("javascript.builtins.Math.trunc")}}

+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf