Switch statement werkt niet bij optelling, wel bij aftrekking.

Status
Niet open voor verdere reacties.

yammaski

Gebruiker
Lid geworden
9 mrt 2005
Berichten
284
Mijn functie werkt wel bij de cases '10' en '15', maar bij de rest niet.
De prijzen (getallen) moeten getoond worden met 2 cijfers na de komma, ook al is het een rond getal (vbn : 3,00 of 5,25 of 6,50).
[JS]
function getPrice(option, prodPrice) {
var prodPrice = prodPrice.replace(",",".");
var thePrice;
switch (option) {
case '10':
thePrice = (prodPrice-1).toFixed(2);
break;
case '15':
thePrice = prodPrice;
break;
case '20':
thePrice = (prodPrice+2).toFixed(2);
break;
case '25':
thePrice = (prodPrice+4).toFixed(2);
break;
case '30':
thePrice = (prodPrice+5).toFixed(2);
break;
case '35':
thePrice = (prodPrice+6).toFixed(2);
break;
case '40':
thePrice = (prodPrice+7).toFixed(2);
break;
case '45':
thePrice = (prodPrice+8).toFixed(2);
break;
case '50':
thePrice = (prodPrice+9).toFixed(2);
break;
case '55':
thePrice = (prodPrice+10).toFixed(2);
break;
default:
thePrice = prodPrice;
}
return thePrice.replace('.',',');
}
[/JS]

Deze getallen worden getoond in een div (innerHTML). De standaardprijs (case '15') komt uit een database.
 
Wat komt er dan uit bij de andere cases?

(Side note; dit ziet er uit als een simpele formule en misschien kun je het beter oplossen met een klein stukje wiskunde?)
 
opgelost !


[JS]
function getPrice(option, prodPrice) {
var prodPrice = parseFloat(prodPrice.replace(",","."));
var thePrice;
switch (option) {
case '10':
thePrice = (prodPrice-1).toFixed(2);
break;
case '15':
thePrice = prodPrice.toFixed(2);
break;

[/JS]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan