2 votes

En JavaScript, faire un simple calcul de frais de port et de manutention

J'ai des problèmes avec un simple calcul JavaScript. Mon document est censé ajouter 1,50 $ à une commande si elle est inférieure ou égale à 25 $, ou ajouter 10 % de la commande si elle est supérieure à 25 $. Le problème exact est le suivant :

De nombreuses entreprises facturent normalement des frais d'expédition et de manutention pour les achats. Créez une page web qui permet à l'utilisateur de saisir un prix d'achat dans une zone de texte et inclut une fonction JavaScript qui calcule les frais de port et de manutention. Ajoutez une fonctionnalité au script qui ajoute des frais d'expédition et de manutention d'un montant minimum de 1,50 $ pour tout achat inférieur ou égal à 25,00 $. Pour toute commande supérieure à 25,00 $, ajoutez 10 % au prix d'achat total pour les frais d'expédition et de manutention, mais n'incluez pas les frais minimums d'expédition et de manutention de 1,50 $. La formule de calcul d'un pourcentage est la suivante : prix * pourcentage / 100. Par exemple, la formule pour calculer 10 % d'un prix d'achat de 50,00 $ est 50 * 10 / 100, ce qui donne des frais d'expédition et de manutention de 5,00 $. Après avoir déterminé le coût total de la commande (achat plus frais de port et de manutention), affichez-le dans une boîte de dialogue d'alerte.

Voici mon code :

    var price = window.prompt("What is the purchase price?", 0);
var shipping = calculateShipping(price);
var total = price + shipping;
function calculateShipping(price){
if (price <= 25){
 return 1.5;
}
else{
 return price * 10 / 100
}
}
window.alert("Your total is $" + total + ".");

Lors des tests, je saisis un nombre dans la boîte d'invite et, au lieu de calculer comme si j'avais saisi un nombre, il calcule comme si j'avais saisi une chaîne de caractères, c'est-à-dire que je saisis 19 et j'obtiens 191,5 ou je saisis 26 et j'obtiens 262,6.

0voto

k rey Points 302
var price = parseFloat(window.prompt("What is the purchase price?", 0)); 
var shipping = calculateShipping(price); 
var total = price + shipping; 
function calculateShipping(price){ 
  var num = new Number(price);
  if (num <= 25){  
    return 1.5; 
  } else{  
    return num * 10 / 100 
  } 
} 
window.alert("Your total is $" + total + "."); 

Cela devrait suffire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X