Калькулятор процентов

Посчитайте процент и посмотрите, как получен ответ: значение, фраза, которая его объясняет, и формула с вашими собственными числами.

Сколько будет X % от Y?
15

25 % от 60 — это 15.

60 × 25 ÷ 100 = 15
Сколько процентов составляет X от Y?
25

15 — это 25 % от 60.

15 ÷ 60 × 100 = 25
Каково изменение в процентах от X к Y?
50

От 40 к 60 — изменение на 50 %: рост.

(60 - 40) ÷ 40 × 100 = 50
Сколько будет X после изменения на Y %?
48

60 после изменения на -20 % — это 48.

60 + 60 × -20 ÷ 100 = 48
X — это Y % от чего?
100

118 — это 118 % от 100.

118 ÷ (118 ÷ 100) = 100

Пять формул

За словами «калькулятор процентов» прячутся пять разных вопросов, и ответ не на тот из них даёт вам уверенное число на вопрос, которого вы не задавали. Именно поэтому все пять стоят на странице сразу. Вот они простой арифметикой, где X и Y — то, что вы вводите в два поля соответствующей панели.

  • Сколько будет X% от Y? — Y × X ÷ 100. Скидка 25% на 60 снимает 15.
  • X — это сколько процентов от Y? — X ÷ Y × 100. 15 из 60 — это 25%.
  • Каково изменение в процентах от X к Y? — (Y − X) ÷ X × 100. От 40 в прошлом месяце к 60 в этом — рост на 50%.
  • Сколько будет X после изменения на Y%? — X + X × Y ÷ 100. 60 после скидки 20% — это 48, за один шаг, а не за два.
  • X — это Y% от чего? — X ÷ (Y ÷ 100). Если 118 — цена, в которой уже сидит НДС 18%, то до налога она была 100.

Одно слово проходит через всю остальную страницу: основание — это величина, относительно которой измеряется процент, число, на которое делит арифметика. У двух из пяти основания нет вовсе, потому что они делят только на сто: «X% от Y» и «X после изменения на Y%» работают для любой пары чисел, какую вы наберёте, и их ответы всегда выходят точными. Остальные три делят на число, выбранное вами, и потому только им можно задать вопрос, у которого нет ответа, и только они могут выдать ответ, у которого знаки не кончаются никогда.

Рост на 20% и падение на 20% не гасят друг друга

Поднимите 100 на 20% — получится 120. Снимите с этого 20% — получится 96, а не 100. Оба движения одинаковы по величине в процентах и одинаковы по расстоянию на словах, и всё равно вы остаётесь на 4% ниже.

Ничего не сломалось. Два процента измерены относительно разных оснований: рост — это 20% от 100, то есть 20, а падение — 20% от 120, то есть 24. Процент никогда не бывает величиной сам по себе — он величина относительно чего-то, и это что-то по дороге переменилось.

Разрыв — правило, а не случайность. Рост любого размера, за которым следует падение того же размера, всегда проигрывает, и всегда проигрывает одну и ту же долю: 10% и 10% оставляют вас на 1% ниже, 20% и 20% оставляют 4%, 50% и 50% оставляют 25%. Порядок тоже не важен, потому что умножению всё равно: упадите сперва на 20%, поднимитесь потом на 20% — и вы снова окажетесь на 96.

Именно здесь акция, о которой сообщили «упала на 50%, потом выросла на 50%», по-прежнему на четверть ниже, и именно здесь скидка на скидку не равна сумме двух. Если вы хотите знать, что на самом деле вернёт вас к началу, спросите третью панель: от 120 к 100 — это изменение на −16,6667%, а не на −20%.

Процентные пункты — это не проценты

Центральный банк двигает ставку с 2% до 3%. Об этом сообщают две газеты. Одна говорит, что ставка выросла на один пункт, другая — что ставка выросла на 50 процентов. Правы обе, и читатель, принявший эти сообщения за одно и то же утверждение, ошибся в прочтении новости в пятьдесят раз.

  • Рост на один процентный пункт. Это разность двух чисел, вычтенная в тех единицах, в которых они уже записаны: 3 минус 2 — это 1.
  • Рост на 50 процентов. Это изменение относительно того, откуда всё начиналось: прибавка 1 к начальному значению 2 — это ещё половина сверху.
  • Одно событие, две верные фразы, два разных числа. Слово «пункт» и есть то, что говорит вам, которое из двух приводится, и опускают его куда чаще, чем следовало бы.

Путаница стоит денег в том направлении, в каком вы и ожидали. Комиссия, выросшая с 1% до 2%, выросла на один процентный пункт и удвоилась; сообщение о ней как о «росте на 1%» превращает удвоение в ошибку округления. Работает это и в обратную сторону: опрос, сдвинувшийся с 40% до 44%, вырос на четыре пункта, и описание этого как «роста на 4%» его преуменьшает, ведь 4% от 40 — это 1,6 пункта.

Шестой панели для этого нет, и это намеренно. Процентные пункты — это вычитание: нужна разность в пунктах — вычтите два числа, и она у вас есть. Инструмента же заслуживает другое прочтение, и это третья панель: наберите в ней 2 и 3, и она скажет вам, что то же самое движение — рост на 50%.

Обратить процент — не значит вычесть его

Счёт выходит на 118, и НДС 18% уже сидит в этой цифре. Какой была цена до налога? Соблазнительный ход — снять 18% со 118, что даёт 96,76. Верный ответ — 100, и проверить его можно в один шаг: 100 плюс 18% — это 118, а 96,76 плюс 18% — это 114,1768.

Ошибка та же, что и в разделе выше, только в другом пальто. Эти 18% были добавлены к цене до налога, то есть это 18% от 100. Вычитание 18% снимает их с цены после налога, то есть снимает 18% от 118 — число большее, чем когда-либо было добавлено. Прибавить процент и снять тот же процент — не взаимно обратные операции, и разница не мала: здесь она 3,24, больше трёх процентов цены до налога.

И промахивается она каждый раз в одну и ту же сторону, поэтому её стоит знать, а не просто избегать. Обращение вычитанием занижает исходную цифру всякий раз, так что предприятие, обращающее свой НДС таким образом, занижает собственную доналоговую выручку в каждом выставленном счёте.

Пятая панель и есть обращение. Спросите, чего 118 составляет 118%, и она ответит 100. Та же панель делает и скидки: куртка, стоящая 48 после скидки 20%, — это 48, составляющие 80% прежней цены, так что спросите, чего 48 составляет 80%, и она ответит 60 — а не 57,6, которые получаются, если прибавить 20% назад.

Когда изменение начинается ниже нуля

Предприятие теряет 10 в один год и зарабатывает 10 в следующий. Это восстановление в любом прочтении, а стандартная формула процентного изменения возвращает −200%. Инструмент показывает вам эту цифру, называет изменение ростом во фразе под ней и говорит вам, что эти двое не согласны друг с другом.

Знак выходит обратным, потому что основание отрицательно. Само изменение — это +20, и деление +20 на −10 переворачивает знак результата, тогда как изменение, которое он описывает, пошло вверх. Этим свойством обладает всякое настоящее изменение, измеренное от отрицательного начального значения, а не только это: ниже нуля знак процента противоположен направлению, в котором дело на самом деле двинулось.

Инструмент мог бы взять модуль основания и вернуть удобные +200%. Он намеренно этого не делает. Электронные таблицы, бухгалтерские пакеты и каждый учебник пользуются формулой со знаком, поэтому инструмент, тихо взявший другую, расходился бы с той цифрой, по которой вы его сверяете, и у вас не было бы способа узнать, кто из двоих поменял правила. Слово направления считается отдельно, из одной только разности, и потому остаётся верным там, где знак верным не остаётся.

В итоге у вас на руках цифра, которую можно свести с таблицей, и фраза, которую можно сказать человеку, и это не одна и та же фраза. На практике процентное изменение от отрицательного основания — цифра, к которой в любом отчёте стоит относиться с подозрением: «улучшилось с убытка 10 до прибыли 10» несёт факт, а «−200%» несёт его неверно, как бы его ни считали.

Запятые, точки и то, какое число вы имели в виду

Эта страница существует на тринадцати языках, и восемь из них пишут десятичный разделитель запятой — русский среди них. Инструмент, читающий 12,5 как сто двадцать пять, был бы в этих языках не слегка неправ — он был бы тихо неправ в большинстве из них, на числах, которые выглядят совершенно обыкновенно. Поэтому прочтение решается языком страницы, на которой вы находитесь, и никогда — настройками машины, за которой вы сидите.

Ваш собственный язык идёт первым, а то, что так прочитаться не может, но однозначно читается по-другому, всё равно принимается. Вставьте 12.5 из электронной таблицы на эту русскую страницу — и вы получите двенадцать с половиной, потому что другим числом это быть не может. Об этом ничего не говорится, потому что ничего и не решалось: прочтение было только одно.

Остаётся по-настоящему двусмысленный случай, и он симметричен — это не беда одних лишь языков запятой. Разделитель, за которым идут ровно три цифры, может быть и десятичным разделителем, и разделителем тысяч, каким бы знаком он ни был. На этой русской странице 1,234 — это либо один с небольшим, либо тысяча двести тридцать четыре, и 1.234 двусмысленно ровно в той же мере; на английской или японской странице те же два написания задают те же два вопроса с обменом ролями. В каждом из таких случаев дело решает язык страницы, а инструмент объявляет, какое прочтение он взял, — чтобы догадка, которой вы не хотели, была видна, а не похоронена в ответе.

Разделители тысяч принимаются везде, где их не спутать ни с чем другим, так что 1,048,576 и 1 048 576 — это миллион с небольшим. Ответы записываются обратно с разделителями вашего языка, чтобы результат можно было вставить в тот документ, откуда числа и вышли.

Точные ответы и те, которые пришлось округлить

Проценты — это арифметика, которую люди проверяют вручную, и потому инструмент считает их не так, как считал бы язык программирования. Он работает в точной десятичной арифметике, а не в числах с плавающей точкой, к которым браузер тянется по умолчанию, и это значит, что ответ, который можно выписать целиком, выписывается целиком, каким бы длинным он ни оказался. 1 из 512 — это 0,1953125%, все семь знаков, а не 0,1953%.

Некоторые ответы выписать нельзя вовсе. 1 из 3 — это 33,3333…% с тройками, бегущими вечно, и никакая осторожность этого не изменит. Такие показываются с четырьмя знаками после запятой — цифрой, которой действительно можно пользоваться, — и инструмент говорит, что округлил, и предлагает более длинное разложение снизу. Смысл этого сообщения в том, что вы можете отличить две ситуации: число, под которым ничего не написано, — это ответ целиком, а не прибранный.

Различие держится только потому, что сообщение редко, и редко оно по построению — хотя и не сводится к ответам, которые тянутся без конца. Две панели без основания делят на сто и больше ни на что, поэтому ничего бесконечно повторяющегося из них не выходит. И всё же перемножьте две длинные десятичные дроби, и точный ответ может выйти куда длиннее, чем есть куда его выписать: 0,0000001% от 1,23456789 выходит точным на семнадцати знаках после запятой и сокращается для показа, как и всё остальное. Пять разобранных примеров, с которых страница начинается, выбраны так, чтобы ничего из этого их не касалось: каждый из них выходит точным и коротким, так что сообщение, сидящее там прежде, чем вы что-либо набрали, означало бы, что округляется что-то настоящее.

Четыре знака после запятой — хорошее правило для числа около единицы и бесполезное для числа около нуля, где им уже нечего показать. Поэтому, когда ответ слишком мал, чтобы четыре знака сказали хоть что-нибудь — всё, что меньше 0,00005, — инструмент считает вместо них четыре значащие цифры, а разложение под ним считает двенадцать. Тот семнадцатизначный ответ и показывается как 0,000000001235, а не как 0. Другой путь был напечатать этот 0 и оставить сообщение под ним нести единственную настоящую цифру панели; от него отказались, потому что он переворачивает страницу вверх ногами: значение — это ответ, а сообщение — признание, а не наоборот.

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

Чем процент отличается от процентного пункта?
Процентный пункт — это простая разность двух процентов, вычтенных как есть: с 2% до 3% — это рост на один процентный пункт. Процент описывает изменение относительно того, откуда всё началось, и с 2% до 3% — это рост на 50 процентов. Обе фразы верны об одном и том же событии и различаются здесь в пятьдесят раз, так что слово «пункт» делает настоящую работу всякий раз, когда появляется.
Если цена выросла на 20%, а потом упала на 20%, вернулась ли она к началу?
Нет — она на 4% ниже начала. 100 становится 120, а 20% от 120 — это 24, так что вы спускаетесь обратно к 96. Падение измеряется относительно большего числа, чем то, относительно которого измерялся рост. То же самое происходит при любом размере: 10% и 10% оставляют вас на 1% ниже, 50% и 50% оставляют на 25% ниже. Чтобы вернуть 120 к 100, нужно падение на 16,6667%.
Как посчитать цену до того, как был добавлен НДС?
Делите на полный процент, а не вычитайте ставку. Если 118 включает НДС 18%, то 118 — это 118% от доналоговой цены, и ответ 100. Снятие 18% со 118 даёт 96,76, что неверно на 3,24 и неверно каждый раз в одну сторону. Пятая панель делает это напрямую: поставьте имеющуюся у вас цифру в первое поле, а полный процент — 118 или 120 для НДС 20% — во второе.
Почему инструмент говорит −200%, когда предприятие улучшило показатели?
Потому что изменение измерено от отрицательного начального значения. Переход от убытка 10 к прибыли 10 — это изменение +20, делённое на −10, и выходит оно отрицательным, хотя движение было вверх. Это стандартная формула и та самая, которой пользуется ваша таблица, поэтому инструмент остаётся при ней, а не берёт тихо другую, считает слово направления отдельно из разности и говорит вам, что эти двое не согласны.
Почему мне сказали, каким образом прочитано моё число?
Потому что прочитать его можно было двояко и что-то должно было решить. Разделитель, за которым ровно три цифры, — 1,234 или 1.234, каким бы знаком он ни был, — это и правильное десятичное число, и правильная группировка тысяч, так что решает язык страницы, а инструмент говорит, что он решил. Появляется это только тогда, когда прочтение действительно было выбором: 12,5 и 12.5 всюду на этом сайте означают двенадцать с половиной, и ни одно из них не сопровождается замечанием.
Почему мой ответ показан с четырьмя знаками после запятой?
Потому что его точное значение в конечное их число не помещается — 1 из 3 это 33,3333…% без конца. Когда так выходит, ответ сокращается для чтения, и инструмент говорит вам, что сократил, с более длинным разложением снизу. Когда ответ можно выписать точно, он выписывается точно, сколько бы знаков на это ни ушло, так что у результата, под которым ничего нет, ничего за ним и не спрятано. Есть одно исключение — ответы, слишком малые, чтобы четыре знака показали хоть что-то: ниже 0,00005 вы получаете вместо них четыре значащие цифры, то есть 0,000000001235, а не голый 0.
Стоит ли хранить проценты числами с плавающей точкой в собственном коде?
Не для денег и не для чего-либо, что вам придётся сводить. Двоичная плавающая точка не может представить 0,1 точно, поэтому ставки и цены уплывают на доли копейки и потом перестают сходиться. Храните целые, которые лежат снизу, — копейки, базисные пункты — или пользуйтесь десятичным типом, а округляйте один раз при выводе. Именно так этот инструмент устроен внутри, и потому его точные ответы точны на самом деле.
Отправляется ли что-нибудь из набранного мной на сервер?
Нет. Все пять расчётов выполняются в вашем браузере по мере ввода, ничего не загружается и не записывается, и страница продолжает работать вообще без сетевого соединения.