🛝Toolio
О нас Контакты

🧮 Онлайн-калькулятор — Бесплатно, с историей и поддержкой клавиатуры

Калькулятор Toolio выполняет сложение, вычитание, умножение, деление и вычисление процентов, а также сохраняет в браузере прокручиваемую историю последних 50 результатов — ничего научного, без скобок и без клавиш памяти (M+, M-, MR), потому что эти кнопки отсутствуют в интерфейсе. Парсера приоритета операторов нет: кнопки выполняют одну операцию за раз, поэтому нажатие 2 + 3 x 4 = ведет себя как обычный настольный калькулятор и возвращает 20, а не 14, как это было бы при строгом соблюдении порядка арифметических действий. Каждый результат также округляется до 12 значимых цифр перед отображением, поэтому 0.1 + 0.2 показывает чистый 0.3 вместо 0.30000000000000004, как это делает JavaScript.

Калькулятор Toolio — это браузерный четырехфункциональный калькулятор, поддерживающий сложение, вычитание, умножение, деление и вычисление процентов, с историей из 50 записей и полной поддержкой клавиатуры, работающий полностью офлайн.

 
0
История
Истории пока нет

Приватно по умолчанию. Этот инструмент работает полностью в браузере — ничего, что вы вводите, не загружается, и он работает офлайн.

Об инструменте

Что делает этот калькулятор — и что не делает

Сетка кнопок предоставляет вам AC, backspace, %, деление, умножение, вычитание, сложение, цифры от 0 до 9, десятичную точку, кнопку ± и равно — это полный набор функций. Здесь нет квадратного корня, нет степеней, нет тригонометрии, нет скобок и нет регистров памяти; если вам нужны эти функции, этот инструмент не подойдёт. Клавиатура отражает кнопки: цифровые клавиши, +, -, * (или клавиша x), /, Enter или = для равно, Backspace, Escape для очистки и % для процента, все подключены к одному обработчику, который не мешает, когда вы вводите текст в любом другом поле ввода на странице. Если вы вводите -, когда ожидается число, это начинает отрицательное число, поэтому 5, x, -, 3, = даёт -15, а кнопка ± меняет знак числа, отображаемого на экране.

Как работает математика

Порядок выполнения операций работает иначе, чем ожидают многие люди от «калькулятора». Инструмент никогда не хранит всю цепочку введённых операций: он сохраняет только одно промежуточное значение и один оператор и вычисляет этот шаг сразу, как только приходит следующий оператор или знак =. Конкретно: нажмите 2, +, 3, x, 4, = и вот что происходит пошагово — нажатие + сохраняет 2 как ожидаемое левое значение; нажатие 3 устанавливает следующее число; нажатие x заставляет вычислить ожидаемое 2 + 3 сразу (потому что прибыла новая операция, когда результат всё ещё ожидался), получая 5, которое становится новым левым значением; нажатие 4 устанавливает следующее число; нажатие = вычисляет 5 x 4 и показывает 20. Калькулятор, который применял бы полный порядок операций ко всей введённой цепочке, показал бы 14 (2 + 12) вместо этого. Это поведение в стиле цепочки соответствует обычным калькуляторам с четырьмя функциями (таким, как встроенные в стандартный режим большинства телефонов), а не научным или основанным на выражениях калькуляторам, и это наиболее распространённая причина сообщений о «неверном ответе» для таких инструментов.

Обработка чисел с плавающей точкой — это ещё одно место, где видимое число и вычисленное число расходятся. Двоичные числа с плавающей точкой не могут точно представлять большинство десятичных дробей, поэтому JavaScript вычисляет 0.1 + 0.2 как 0.30000000000000004 и 100 x 1.1 как 110.00000000000001. Результаты сохраняются с полной точностью и округляются до 12 значимых цифр только для отображения, что тихо возвращает оба этих числа в чистые 0.3 и 110, которые ожидает человек, и позволяет цепочке, например, 8 ÷ 3 × 3 выдать ровно 8 вместо того, чтобы строить на округлённом 2.66666666667. Однако у этого решения есть реальные ограничения: 15-значное целое число, например, 999999999999999, округляется до 1000000000000000 по той же границе в 12 знаков, превращая точное целое число в другое точное целое число исключительно из-за округления отображения — не артефакт чисел с плавающей точкой, а настоящая потеря значения, которое вы фактически ввели. И когда величина результата достигает примерно 1e21, собственное форматирование чисел JavaScript переключается на экспоненциальную запись (1e+21), независимо от того, что бы показала граница в 12 знаков.

Несколько меньших ограничений завершают поведение: деление на ноль вызывает внутреннюю ошибку, а на экране отображается локализованное сообщение «Ошибка» вместо Infinity или NaN, очищая ожидаемую операцию, чтобы вы могли начать сначала; ввод чисел ограничен 15 символами при вводе (Backspace всё равно работает нормально, уменьшая до одного 0); нажатие = снова повторяет последнюю операцию на результате (7, +, 3, = и затем ещё два нажатия = показывают 10, 13, 16); и проценты зависят от ожидаемой операции — после + или -, нажатие % вычисляет процент от сохранённого левого значения (200, +, 10, % показывает 20, поэтому нажатие = после этого даёт 220), тогда как после x или / или самостоятельно оно просто делит число на 100 (200, x, 10, % = показывает 20; 200, /, 10, % = показывает 2000).

История вычислений — последние 50, сохранённые в браузере

История сохраняет последние 50 ваших вычислений в localStorage браузера в собственном пространстве имен этого инструмента; 51-й ввод тихо удаляет самый старый элемент. Нажатие на любую строку истории возвращает результат и строку выражения обратно на экран, чтобы вы могли продолжить работу с ней, а очистка истории сразу удаляет список с уведомлением, подтверждающим это. Поскольку это localStorage, история привязана к конкретному браузеру на конкретном устройстве — она не синхронизируется между вкладками, открытыми в режиме приватности/инкогнито, между браузерами или между устройствами.

Как пользоваться

  1. Вводите цифры с помощью клавиатуры или нажимайте кнопки с числами на экране.
  2. Нажмите +, -, x или / (или соответствующую клавишу клавиатуры), чтобы выбрать операцию; нажатие второй операции сразу вычисляет предыдущую. Нажмите ± (или введите - там, где ожидается число), чтобы ввести отрицательное число.
  3. Используйте % для процентов: после + или -, это вычисляет процент от сохранённого значения (200, +, 10, % затем = даёт 220); после x или / или самостоятельно это делит текущее отображение на 100 (200, x, 10, % затем = даёт 20).
  4. Нажмите Enter или =, чтобы увидеть окончательный результат — он сохраняется в истории автоматически и округляется до 12 значимых цифр для отображения. Нажмите = ещё раз, чтобы повторить последнюю операцию.
  5. Нажмите на любую запись в панели Истории, чтобы восстановить этот результат и его выражение, затем продолжите вычисления оттуда.
  6. Нажмите Escape или нажмите AC, чтобы очистить все, или Backspace, чтобы удалить последнюю введенную цифру.

Частые вопросы

Действительно ли здесь 0.1 + 0.2 показывает 0.3 или обычную проблему с числами с плавающей точкой?
Показывает чистый 0.3. JavaScript вычисляет сырую сумму как 0.30000000000000004, потому что двоичные числа с плавающей точкой не могут точно представить 0.1 или 0.2, но этот калькулятор округляет каждый результат до 12 значимых цифр перед отображением, что скрывает этот артефакт для повседневных чисел.
Если я введу 2 + 3 x 4 =, получу ли я 14 или 20?
Вы получите 20. Нажатие оператора, когда предыдущая операция все еще ожидается, сразу оценивает эту ожидаемую ступень (2 + 3 = 5 сначала), а затем следующий оператор применяется к этому результату (5 x 4 = 20). Это стандартное поведение для обычных четырехфункциональных калькуляторов, а не ошибка — научный калькулятор, который применяет полный порядок действий к введенной цепочке, дал бы 14 вместо этого.
Есть ли научный режим, скобки или клавиши памяти (M+/M-/MR)?
Нет. Это четырехфункциональный калькулятор плюс проценты и история — в интерфейсе нет тригонометрических функций, степеней, квадратных корней, скобок или регистров памяти. Если вам нужны эти функции, этот конкретный инструмент не предназначен для этого.
Загружает ли он мои вычисления куда-либо?
Нет. Все вычисления происходят в вашем браузере, а история хранится только в localStorage вашего браузера. Ничто не отправляется на сервер, и инструмент продолжает работать без подключения к интернету вообще.
Что происходит с очень большими или очень точными числами?
Результаты округляются до 12 значимых цифр перед отображением, что может тихо изменить точное большое целое число — например, 15-значное число 999999999999999 отображается как 1000000000000000. Как только величина результата достигает примерно 1e21, отображение переключается на экспоненциальную запись (например, 1e+21), независимо от этого округления.
Что происходит, если я делю на ноль?
Калькулятор специально обнаруживает это и отображает локализованное сообщение «Ошибка» вместо Infinity или NaN, а затем очищает ожидаемую операцию, чтобы вы могли сразу начать новое вычисление.
Загружает ли этот инструмент мои данные?
Нет. Всё выполняется прямо в вашем браузере, поэтому ваши данные никогда не покидают устройство — после загрузки страницы он работает даже офлайн.