Я пытаюсь вычислить в javascript. Некоторые части расчета не работают.

Я хочу рассчитать общую стоимость со скидкой. Например: Когда цена = 10,00 и скидка = 50 (%)

Мне нужно рассчитать: 10.00 * 0,50

Поэтому мне нужно что-то вроде этого:

 var totalValue = numVal1 / 0, numVal2

Когда я это делаю, скрипт не работает. Как я могу это исправить?

Это мой полный код:

function getPrice() {         
 var numVal1 = Number(document.getElementById("price").value);
 var numVal2 = Number(document.getElementById("discount").value);

 var totalValue = numVal1 / numVal2
 document.getElementById("total").value = totalValue.toFixed(2);
}
4
John 2 Июн 2016 в 16:53
Я думаю, то, что вы ищете, будет выглядеть примерно так? var totalValue = numVal1 * (numVal2/100)
 – 
NTL
2 Июн 2016 в 16:55
totalValue = price * (100 - discount) / 100, с price=numVal1 и discount = numVal2.
 – 
coyotte508
2 Июн 2016 в 16:56
То, что я ищу, нужно вычислить 10,00 * 0,50
 – 
John
2 Июн 2016 в 16:56
Скидка процентная
 – 
John
2 Июн 2016 в 16:56
Действительно ли скидка 0,5 (нулевая запятая пять)? Я знаю, что это по-европейски. Думаю, вы можете посмотреть здесь: stackoverflow.com/questions/5314237/…
 – 
nerdlyist
2 Июн 2016 в 16:59

6 ответов

Итак, у вас есть цена (10) и скидка (50)

FinalPrice = цена * (100-скидка / 100) = 10 * (100-50 / 100) = 10 * 0,5 = 10 * 50%

Так

function getPrice() {         
 var numVal1 = Number(document.getElementById("price").value);
 var numVal2 = Number(document.getElementById("discount").value);

 var totalValue = numVal1 * ( (100-numVal2) / 100 )
 document.getElementById("total").value = totalValue.toFixed(2);
}
7
Jérôme 2 Июн 2016 в 16:59

Я думаю, что вы неправильно рассчитываете стоимость, она должна быть:

var totalValue = numVal1 *(numVal2/100);
3
Camilo Andres Muñoz Bravo 2 Июн 2016 в 17:00

Чтобы получить процент, вам нужно разделить скидку на 100 и умножить ее на цену.

Например, я купил обувь, нормальная цена - 50 фунтов, но это была заключительная распродажа, поэтому скидка 75%. поэтому нам нужно отработать 75% из 50, а затем снять это.

50 - (50 * 75/100) или 50 - (50 * 0,75)

(Обувь стоила всего 12,50 фунтов стерлингов ... сделка!)

Я бы пошел на что-то вроде:

getPrice = function() {
  var numVal1 = Number(document.getElementById("price").value);
  var numVal2 = Number(document.getElementById("discount").value) / 100;

  var totalValue = numVal1 - (numVal1 * numVal2)
  document.getElementById("total").value = totalValue.toFixed(2);
}
<input id="price">
<br>
<input id="discount">%
<br>
<button onclick="getPrice()">
  Get total
</button>
<br>
<input readonly id="total">
1
Andrew Bone 2 Июн 2016 в 17:07
Это уже проц. Что вы сделали, так это преобразовали его в десятичную дробь.
 – 
Felix Kling
2 Июн 2016 в 17:03

Вы не можете ожидать, что JavaScript поймет, что 0, numVal2 должно быть выведено как плавающее число. В JavaScript запятая имеет собственное значение. Вместо этого вы должны рассматривать numVal2 как процент (что и есть) и делать:

var totalValue = numVal1 / (numVal2 / 100);
0
LoremIpsum 2 Июн 2016 в 16:56
var result =  (numVal1 -numVal2 )/numVal1;
var result2 = result*100;
0
B001ᛦ 25 Июн 2021 в 21:02

Попробуй это.

function calculateDiscount(price,discount) {
    return (price - (price * (discount/100))).toFixed(2);
}


document.getElementById("submit_btn").onclick = function(){
  var price = Number(document.getElementById("price_input").value);
  var discount =    Number(document.getElementById("discount_input").value);
  var calculated = calculateDiscount(price,discount);
  document.getElementById("price_tag").innerHTML = calculated;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <strong>Enter  Price</strong><br>
    <input type="text" placeholder="Price" id="price_input"><br><br>
     <strong>Enter Discount %</strong><br>
    <input type="text" placeholder="Discount %" id="discount_input"><br><br>
    <button type="button" id="submit_btn">Calculate</button>
    
    <h1 id="h1_tag">Final:. <small id="price_tag">0.00</small></h1>
</body>
</html>
0
Vikas Kandari 1 Июл 2022 в 13:44