Math.trunc()

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

Синтаксис

Math.trunc(x)

Аргументи

x
Число.

Результат

Ціла частина даного числа.

Опис

На відміну від трьох інших методів Math (Math.floor(), Math.ceil() та 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);
	};
}

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

Специфікація Статус Примітка
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Math.trunc' in that specification.
Standard Первинне визначення.
ECMAScript (ECMA-262)
The definition of 'Math.trunc' in that specification.
Living Standard  

Підтримка у браузерах

BCD tables only load in the browser

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