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.