Back

# Math.trunc

## Math.trunc

The `Math.trunc()` function returns the integral part of a number by removing any fractional digits.

## Syntax

``Math.trunc(x)``

`x`
A number.

## Description

Unlike other three `Math` methods: Math.floor(), Math.ceil() and Math.round(), the way `Math.trunc()` works is very simple and straightforward, just truncate the dot and the digits behind it, no matter whether the argument is a positive number or a negative number.

So, if the argument is a positive number, `Math.trunc()` is equivalent to `Math.floor()`, otherwise `Math.trunc()` is equivalent to `Math.ceil()`.

Note, the argument passed to this method will be converted to number type implicitly.

Because `trunc()` is a static method of `Math`, you always use it as `Math.trunc()`, rather than as a method of a `Math` object you created (`Math` is not a constructor).

## Examples

### Using `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
```

## Polyfill

```Math.trunc = Math.trunc || function(x) {
return x < 0 ? Math.ceil(x) : Math.floor(x);
}
```