Определите, приведет ли преобразование из строки в 32-разрядное целое число к переполнению

StackOverflow https://stackoverflow.com/questions/2282452

  •  21-09-2019
  •  | 
  •  

Вопрос

Пытаюсь выполнить внешнюю проверку входных данных HTML вместо того, чтобы выдавать исключение в серверной части Java.

Это было полезно?

Решение

if ((the_number >> 0) != the_number) {
  // overflow...
}

Вам все еще нужна проверка на стороне сервера, потому что на стороне клиента может быть отключен Javascript и т.д.

Другие советы

Проверьте, является ли число больше, чем 2147483647.

Например:

if (parseInt(num, 10) > 2147483647)
    //BAD!!!

Просто проверь:

if (parseInt(myNumberAsString, 10) > 2147483647) {  alert("Invalid int!"); }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top