Skip to content

toSafeInteger ​

INFO

This function is only available in es-toolkit/compat for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.

When imported from es-toolkit/compat, it behaves exactly like lodash and provides the same functionalities, as detailed here.

Converts value to a safe integer.

A safe integer is an integer that can be exactly represented as a double precision number, and no other integer rounds to it under any IEEE-754 rounding mode.

If the value is infinite, it is converted to the maximum or minimum safe integer. Any decimal points are removed by truncating the value.

Signature ​

typescript
function toSafeInteger(value?: unknown): number;

Parameters ​

  • value (unknown): The value to convert.

Returns ​

(number): The converted safe integer.

Examples ​

typescript
toSafeInteger(3.2); // => 3
toSafeInteger(Number.MAX_VALUE); // => 9007199254740991
toSafeInteger(Infinity); // => 9007199254740991
toSafeInteger('3.2'); // => 3
toSafeInteger(NaN); // => 0
toSafeInteger(null); // => 0
toSafeInteger(-Infinity); // => -9007199254740991

Released under the MIT License.