В силу характера типов данных это произойдет.Если быть более точным, ваша функция будет работать для значений до 32 767 включительно.Выше этого он вернет #NUM, поскольку ваш number
больше не может поместиться внутри целого числа, которым вы его устанавливаете.
Если вы определите свой number
как Long
тип данных, он будет обрабатывать значения до,и в том числе 2 147 483 647
1007 * Чтобы получить более подробное объяснение различий между
Integer
и
Long
, вы можете прочитать ответ от RubberDuck на этот пост:
Зачем использовать Integer вместо Long?