Calculation of discount in Javascript

Asked

Viewed 52 times

-2

I need to sum up products and give 10% discount on the total value of products, follow the code below.

let produtos1 = 150.00
let produtos2 = 100.00
let produtos3 = 228.00

soma = produtos1 + produtos2 + produtos3

if (soma >= 200) {
  console.log('voce acaba de ganha um desconto de 10%')
  console.log('novo subtotal '+ desconto)
} else {
  console.log('adicione mais produtos para ganha o desconto')
}
 
  • Let discount = sum-(sum*. 1);

  • 4

    I know you already have a comment and an answer giving you the way, but I can’t help but comment: this is not a problem of programming, but of mathematics. I believe I could solve it on my own if I did an exercise on paper, not thinking about code, just mathematics. Take it as advice, if you can’t do this kind of math operation on your own, it’s gonna be hard to master programming logic.

  • is the pandemic that won’t let you go to math class

2 answers

2

To "discount" 10% of a value, you can do something like this:

desconto = valor * 0.1; // 10% do valor
descontado = valor - desconto; // 90% do valor (10% de desconto)

Or simply calculate the complement of what you want to discount. In case, as you want to discount 10%, just calculate 90% of the price. We have, then:

descontado = valor * 0.9; // 90% do valor (10% de desconto)

Thus:

let produtos1 = 150;
let produtos2 = 100;
let produtos3 = 228;
 
let soma = produtos1 + produtos2 + produtos3;

if (soma >= 200) {
  let descontado = soma * 0.9;
  
  console.log('voce acaba de ganha um desconto de 10%');
  console.log('total sem desconto:', soma);
  console.log('você pagará:', descontado);
} else {
  console.log('adicione mais produtos para ganha o desconto');
}

1

function ganharDesconto(...products) {
  const total = products.reduce((a, b) => a + b, 0)

  if (total > 200) {    
    return `Você recebeu desconto e o valor ficou: ${total * 0.9}`
  }

  console.log('Adicione mais produtos para ganhar desconto.')
}

  • earn Discount(100,101) // "You received a discount and the value was: 180.9"
  • win Sconto(10, 20, 30, 40) // "Add more products to earn discount."

Browser other questions tagged

You are not signed in. Login or sign up in order to post.