Помощник
|
![]() |
![]() |
Сообщение
#1
|
||
![]() |
|
||
|
|||
![]() |
![]()
Сообщение
#2
|
![]() |
У вас калькулятор с возможностью нажатия кнопок или с ручным вводом, правильно?
Если попробовать делать замену не после нажатия каждой кнопки, а уже непосредственно при нажатии "="? Или у вас результат "живой" - отображается при нажатии на любую клавишу? В качестве оптимизации - decimalSeparator можно вынести в глобальную константу, чтобы не высчитывать её на каждый чих. -------------------- |
|
|
![]() |
Сообщение
#3
|
![]() |
У меня калькулятор пока что только с возможностью нажатия кнопок, но я планирую доработать событие чтобы можно было с клавиатуры вводить числа.
За оптимизацию спасибо, реализовал, но в решении проблемы это не помогло, я не очень понимаю, что происходит... Короче проблему последовательных вычислений решил, сейчас всё работает нормально. Но вот десятичный знак никак не хочет работать... 7.2+2.2 = 11.399999999999999999 Как так..... Я понял, в чём дело... Вот код: Код if (operandPressed) { switch (operation) { case "+": if (tempResult < 1) { tempResult = parseFloat(previousNumber) + parseFloat(currentNumber); } else { tempResult = parseFloat(tempResult) + parseFloat(currentNumber); } break; Чё здесь происходит? Когда я ввожу само число — ничё... но когда я нажимаю на какой-то знак операции, загорается флаг operandPressed. И тогда к tempResult прибавляется то число, которое я ввел. Это нормально при условии что вводятся Integer. Но если вводятся floating point, то он сначала прибавляет целую часть числа (т.к. стоит флаг operandPressed), а затем он эту целую часть ещё раз прибавляет, что неверно. Проблема понятна, вот как её побороть... -------------------- |
|
|
![]() |
![]()
Сообщение
#4
|
|
![]() |
Это известный баг js, можете просто в консоли браузера ввести 0.1+0.2.
Насколько знаю, решается приведением всех операндов к целому числу путём умножения на 10^n, а результат обратно разделить на 10^n
-------------------- |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
![]() |
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1625 | 24.11.2023, 14:46 автор: alexey |
![]() |
![]() |
56 | qpPeW | 47533 | 19.7.2023, 10:03 автор: qpPeW |
![]() |
Кальку, точнее калькулятор в строительной тематике Нужен PHP код |
1 | MihalychAIP | 1066 | 20.4.2022, 2:04 автор: sergogogo |
![]() |
1C-Bitrix, JavaScript\jQuery, Верстка HTML5 CSS3 | 1 | byteeightlab | 1665 | 2.7.2019, 7:37 автор: ychervov |
![]() |
Ищется программист. Создать калькулятор цен на сайте JS | DLE |
0 | Mukis | 1825 | 1.4.2019, 15:24 автор: Mukis |
![]() |
Текстовая версия | Сейчас: 21.4.2025, 18:16 |