предупреждение javascript с другим номером [дубликата]

0

Рассмотрим следующий код JavaScript:

alert(9999999999999999);

Когда я выполняю этот файл, я получаю следующий вывод:

Изображение 174551

Почему я получаю 100000000000 в alert()? Может ли кто-нибудь дать предложения, пожалуйста?

  • 1
    Максимальное количество в JS составляет 9007199254740992
  • 0
    если вы хотите распечатать его, поместите внутрь qoute
Показать ещё 6 комментариев
Теги:
alert
alertdialog

2 ответа

1

Это проблема с тем, как JavaScript обрабатывает числа. Наибольшее возможное целочисленное значение в JavaScript составляет 9007199254740992.

Сравнивать:

Ваш номер: 9007199254740992
Наибольшее количество: 9999999999999999

Поэтому, если вы проверите 9007199254740992, он будет работать нормально, но еще один номер (9007199254740993) и JavaScript вернут 9007199254740992.

Чтобы дать более подробную информацию, номера JavaScript являются 64-битными значениями с плавающей запятой, наибольшее точное интегральное значение составляет 2 53.

  • 0
    спасибо за ваше предложение.
0

Он представлен как двойной, и это число не может быть сохранено точно как double, потому что оно имеет слишком много значимых цифр. Результат, который вы получили, - это ближайший двойной, который можно представить.

См. Http://babbage.cs.qc.cuny.edu/IEEE-754.old/64bit.html.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню