Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с калькулятором (https://javascript.ru/forum/misc/80998-pomogite-s-kalkulyatorom.html)

Петрович 10.09.2020 09:09

Помогите с калькулятором
 
Доброго всем дня! Подскажите чайнику как задать калькулятору расчет по другой формуле при выборе числа из определенного диапазона? Вот например такой скрипт для диапазона от 1 до 49:

<input id="num1"/>
<button onclick="func()">равняется...</button>
<p id="result"></p>


function func(){
          var num1 = Number(document.getElementById("num1").value);
          
          var result = num1 * 25 / 100 * 70;

          document.getElementById("result").innerHTML = result;
          }


Как сделать чтобы при воде числа уже из диапазона от 50 до 99 применялась уже другая формула var result = num1 * 30 / 100 * 70;?

рони 10.09.2020 10:17

Петрович,
var k = num1 >= 50 && num <= 99 ? 30 : 25;
 var result = num1 * k / 100 * 70;

Петрович 10.09.2020 10:27

Цитата:

Сообщение от рони (Сообщение 528715)
Петрович,
var k = num1 >= 50 && num <= 99 ? 30 : 25;
 var result = num1 * k / 100 * 70;

Спасибо большое! Попробую.... а подскажите после знака вопроса ? 30 : 25 что обозначает? и если будет третий диапазон, например от 100 до 199 то окончание такое же?

рони 10.09.2020 10:38

Петрович,
var k = num1 >= 50 && num <= 99 ? 30 : num1 > 99 && num < 199  ? 1000 : 25;

рони 10.09.2020 10:40

Цитата:

Сообщение от Петрович
что обозначает?

Условный оператор „?“

Петрович 10.09.2020 11:20

Рони! Я думал по аналогии смогу под каждый диапазон прописать, но увы, мозги спеклись и не получается. :-? Мне нужно что бы при диапазоне от 1 до 49 он считал по формуле var result = num1 * 10 / 100 * 70; от 50 до 99 по формуле var result = num1 * 15 / 100 * 70; от 100 до 199 по формуле var result = num1 * 20 / 100 * 70; и от 200 и более по формуле var result = num1 * 25 / 100 * 70. Как это все прописать? спасибо за ранее....

рони 10.09.2020 11:34

Петрович,
var k = 1;
if(num1 > 1 && num < 10) k = 2;
if ...
if ...
...

Петрович 10.09.2020 12:34

Добавил все по аналогии, но скрипт не работает, не считает... :cray: что неправильно?


<input id="num1"/>
<button onclick="func()">равняется...</button>
<p id="result"></p>



function func(){
          var num1 = Number(document.getElementById("num1").value);
          var k = 1;
if(num1 > 1 && num < 49) k = 10;
if(num1 > 50 && num < 99) k = 15;
if(num1 > 100 && num < 199) k = 20;
if(num1 > 200 && num < 1000) k = 25;

var result = num1 * k / 100 * 70;


document.getElementById("result").innerHTML = result;
          }

рони 10.09.2020 14:12

Петрович,
единицу пропустили и вы и я.

Петрович 10.09.2020 14:32

Цитата:

Сообщение от рони (Сообщение 528739)
Петрович,
единицу пропустили и вы и я.

Понял где..... num1 должно быть везде.... вроде заработал но с шибкой... к примеру если указать 200, то должен подставиться коэффицент уже 25, но считает с ошибкой, при 201 считает правильно


Часовой пояс GMT +3, время: 09:52.