RandomCompat_intval

Cast to an integer if we can, safely.

If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX) (non-inclusive), it will sanely cast it to an int. If you it's equal to ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats lose precision, so the <= and => operators might accidentally let a float through.

Parameters
int|float $number

The number we want to convert to an int

#
bool $fail_open = false

Set to true to not throw an exception

#
Returns
float|int
Throws
TypeError