--- title: Math.trunc() slug: Web/JavaScript/Reference/Global_Objects/Math/trunc tags: - ECMAScript 2015 - JavaScript - Math - Довідка - метод translation_of: Web/JavaScript/Reference/Global_Objects/Math/trunc ---
{{JSRef}}

Функція Math.trunc() повертає цілу частину числа, повністю відкидаючи дробову.

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

Синтаксис

Math.trunc(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);

		// повертає:
		//  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")}}

Дивіться також