Если вы разделите 11/10
на javascript, вы получите 1.1
. Если вы разделите 011/10
на javascript, вы получите 0.9
. Что вызывает разницу в результатах?Ведущий 0 в операнде приводит к разным результатам в разделении при использовании Javascript
-2
A
ответ
3
011
является восьмеричной константой, равной 9.
Целые могут быть выражены в десятичной системе (основание 10), шестнадцатеричном (основание 16), и восьмеричном (основание 8).
Ведущий 0 (ноль) на целых буквах указывает, что он находится в восьмеричном. Октальные целые числа могут включать только цифры 0-7.
Также отметим:
Восьмеричные целочисленные литералы устаревшими и были удалены из ECMA-262, стандартный выпуск 3 (в строгом режиме).
C++ также имеет восьмеричные константы.
1
Если номер, с которым вы имеете дело, представлен в виде строки, вы можете указать нужный радиус при его литье на число с помощью parseInt()
.
+'011' // 9
parseInt('011') // 9
parseInt('011', 10) // 11
Смежные вопросы
- 1. Код Newtonraphson в R приводит к разным результатам
- 2. Swift and Python: идентичный код приводит к разным результатам
- 3. Почему умножение int/float приводит к разным результатам?
- 4. Нестандартная оценка dplyr summaryise приводит к разным результатам
- 5. параметр differnet приводит к разным результатам при импорте C++ dll в C#
- 6. Создание хэша SHA256 в python и javascript приводит к разным результатам
- 7. Javascript уравнение приводит к -0
- 8. При разделении числа в JavaScript
- 9. month.abb [] приводит к неправильным результатам
- 10. AutoHotKey% 0% (количество аргументов командной строки) приводит к несоответствующим результатам
- 11. Использование мобильных данных приводит к неожиданным результатам
- 12. Вызов хранимой процедуры приводит к разным результатам в SOA 10g и SOA 12c
- 13. javascript: сортировка массива объектов приводит к несовместимым результатам
- 14. Настройка showPrintPanel на false при использовании NSPrintOperation приводит к разным размерам при печати
- 15. Почему использование ALSO приводит к разным результатам в R2 и R3?
- 16. NHibernate SetFirstResult приводит к дублирующим результатам
- 17. копия элизия приводит к различным результатам
- 18. PIL конвертировать изображение приводит к плохим результатам
- 19. Правила CSS в разном порядке приводят к разным результатам
- 20. jQuery for loop приводит к неожиданным результатам
- 21. Вызывающая функция, объявленная с параметром по умолчанию и без него, приводит к разным результатам?
- 22. Назначение переменных вместо прямых ссылок внутри цикла, что приводит к разным результатам
- 23. Stop-AzureWebsiteJob приводит к результатам «Не найдено»
- 24. Выписывание текстового поля приводит к неожиданным результатам
- 25. GROUP BY, что приводит к нежелательным результатам
- 26. Нормализация приводит к плохим результатам для mlp
- 27. сглаживание метода приводит к разным объектам?
- 28. Функция pow() в c приводит к неправильным результатам
- 29. Python: Преобразование к Силе, сохраняя при этом ведущий 0-х
- 30. invoke! (bang) в правом операнде
Вы можете объяснить это поведение, а не просто ссылаться на ошибку. Как то, что происходит. Почему добавление нуля приводит к испорчению значений. –
, то результат из-за восьмеричной константы не имеет особого отношения к плавающей запятой ... –
Добавление предыдущего «0» означает восьмеричное число. Точно так же, как добавление «0x» означает шестнадцатеричное число. На другом языке, таком как Java, вы можете добавить '0b', указав двоичный номер. Это обычная функция на большинстве языков. Поэтому «011/10 = 0,9» является полностью правильным. –