Как вычислить процент от двух известных сумм?

Известна базовая сумма, есть два пустых поля: "новая цена" и "процент". Мне удалось написать логику, если вписать цифру процента в поле "процент", то вычисляется верная сумма, которая вставится в поле "новая цена".

Однако, если мы введем в поле "новая цена" цифру, то в поле "процент" вычисляется неверный процент от базовой суммы.

$(document).ready(function() {
  let priceBase = parseInt($('.price-base').text().replace(/[^0-9]/gi, '')); // получаем базовую цену

  let priceDiscount = '.price-discount'; // поле с ценой со скидкой
  let percent = '.percent'; // поле процентов

  $(percent).on('keyup change', function() {
    let thisPercent = $(this).val();
    let resultPrice = priceBase / 100 * thisPercent; //вычисление процентов
    $(priceDiscount).val(priceBase - resultPrice);
  });


  //Пытаюсь вычислить процент от двух сумм
  $(priceDiscount).on('keyup change', function() {
    let thisPrice = $(this).val();
    let resultPrice = thisPrice / priceBase;
    $(percent).val(resultPrice);
  });
});
.container {
  display: flex;
}

.container div {
  padding: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
  <div class="price-base">100 ₽</div>

  <div>
    <input type="text" class="price-discount" placeholder="новая цена"> ₽
  </div>

  <div>
    <input type="text" class="percent" placeholder="процент"> %
  </div>
</div>


Ответы (1 шт):

Автор решения: UModeL

$(document).ready(function() {
  let priceBase = parseInt($('.price-base').text().replace(/[^0-9]/gi, '')); // получаем базовую цену

  let priceDiscount = '.price-discount'; // поле с ценой со скидкой
  let percent = '.percent'; // поле процентов

  $(percent).on('input', function() {
    let thisPercent = $(this).val();
    let resultPrice = priceBase / 100 * thisPercent; //вычисление процентов
    $(priceDiscount).val(priceBase - resultPrice);
  });


  //Пытаюсь вычислить процент от двух сумм
  $(priceDiscount).on('input', function() {
    let thisPrice = $(this).val();
    let resultPrice = Math.round(100 - thisPrice * 100 / priceBase);
    $(percent).val(resultPrice);
  });
});
.container {
  display: flex;
  flex-flow: column;
}

.container div {
  padding: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
  <div class="price-base">Базовая цена - 120 ₽</div>

  <div>
    Новая цена: <input type="number" class="price-discount" placeholder="новая цена"> ₽
  </div>

  <div>
    Процент скидки: <input type="number" class="percent" placeholder="процент"> %
  </div>
</div>

→ Ссылка