Для веб-приложения я хочу иметь возможность обрабатывать номера размером до 64 бит. Во время тестирования я обнаружил, что javascript (или браузер в целом), похоже, обрабатывает целых 17 цифр. 64-разрядное число имеет максимум 20 цифр, но после обработки javascript число наименее значимых 3 цифр округлено и установлено на 0 .... Любые идеи, из которых это происходит? Что еще более важно, любая идея, как обойти это?Как я могу обрабатывать числа, превышающие 17 цифр в Firefox/IE7?
ответ
В JavaScript все числа IEEE double precision числа с плавающей точкой, а это значит, что у вас есть только около 16 цифр точности; остальные 64 бит зарезервированы для экспоненты. Как отмечает Фабьен, вам нужно будет выполнить некоторые трюки, чтобы получить больше точности, если вам нужны все 64 бит.
Я думаю, что вы должны рассматривать их как строки, если вы достигли предела Javascript (see here)
Вы можете попытаться разбить их на два или более числа (возможно, в классе), но вам могут понадобиться некоторые вспомогательные арифметические функции для работы с ними.
Приветствия
Как другие отмечают, JS реализует дублей, так что вам придется искать в другом месте, чтобы обрабатывать большие числа. BigInt - это библиотека для абсолютной математики точности для целых чисел.
- 1. Как обрабатывать числа, превышающие Double.MAX_VALUE
- 2. Умножьте или разделите числа, превышающие 38 цифр в объекте c
- 3. Хотите форматировать числа, превышающие 20 цифр в java?
- 4. RegEx: Как я могу сопоставить все числа, превышающие 954?
- 5. Как я могу убедиться, что числа из 17 переменных различны?
- 6. Как я могу получить количество общего числа цифр в номере?
- 7. Найдите числа, превышающие их в коллекции
- 8. Как я могу отобразить, сколько цифр у числа?
- 9. Как я могу форматировать числа с одинаковым количеством цифр?
- 10. Как я могу обрабатывать огромные числа в Java?
- 11. Как я могу обрабатывать 1000-значные числа в Java?
- 12. Mips, как напечатать все числа, превышающие 10
- 13. Как отображать числа, превышающие определенное значение?
- 14. Представляя числа, превышающие 65535 в MIPS
- 15. Как я могу сортировать числа лексикографически?
- 16. Попытка удалить числа, превышающие мой целевой номер
- 17. Как правильно обрабатывать значения байтов, превышающие 127 в Котлине?
- 18. Как обрабатывать большие числа
- 19. Как я могу выделить память для массива цифр (int) числа с длиной, равной числу цифр этого числа?
- 20. Как обрабатывать огромные числа?
- 21. Как я могу вывести несколько цифр в строке в java
- 22. Поиск числа цифр числа в C#
- 23. Как я могу активировать счетчики, превышающие 1? EventHandler C#
- 24. Находящиеся в списке числа цифр
- 25. Как обрабатывать большие целые числа в C
- 26. Как я могу выбрать только значения, превышающие 0 с sql?
- 27. Как я могу обрабатывать аргументы
- 28. Найдите сумму цифр введенного числа?
- 29. Как узнать количество цифр числа в C++?
- 30. Как обрабатывать переполнение числа?