Я программист-любитель, пишущий простые программы HTML/Javascript, и я недавно столкнулся с чем-то, что я не могу объяснить. У меня есть небольшая программа, которая устанавливает время начала и окончания встречи. Формат - HHMMSS для обоих. Я запрограммировал время начала, которое мне нужно, например 103000 или 123000, а затем написал строку кода, чтобы добавить 10000, чтобы получить время окончания. Это работало нормально, пока я не пробовал 073000 + 10000. Результат, а не 083000 (или не менее 83000), оказался 40208.Javascript math error with leading zeroes
Я бы написал проблему как проблему с ведущим 0, но 093000 + 10000 = 103000, что я и ожидал. Что происходит с 073000 + 10000 = 40208?
Я исправил программу по-другому, но я в тупике от этого. Большое спасибо за любое объяснение, которое вы можете предоставить.
Вот некоторые простой код из W3Schools, который производит 40208 в результате добавления:
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = 073000 + 10000;
document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>
Убедитесь, что '«использовать строгий»',. потому что в противном случае '073000 = 30208' – elclanrs
elclanrs, вы можете добавить свой комментарий в ответ, и плакат узнает, почему это происходит. Я не знаю, или я бы сам комментарий. –
@SteveMitcham, не стесняйтесь, чувствуя себя ленивым здесь, и не нашел общих дубликатов. – elclanrs