functie werkt niet in de berekening, verkeerde afronding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jsun Dasburg

Jsun Dasburg

06/07/2016 12:16:22
Quote Anchor link
Hallo,

Met javascript en jquery wil ik een berekening maken op een wordpress website. Hieronder heb ik een deel van mijn script en daarbij heb ik 3 vragen. Allereerst hoe zorg ik ervoor dat de value niet naar beneden wordt afgerond en ik de juiste uitkomst krijg, dus € 354,75 x 1,9 = € 674,03 (GOED) in plaats van € 354,00 x 1 = € 354,00 (FOUT). Nu maakt het geen onderscheid tussen 1,6 en 1,9, beide worden naar beneden afgerond op 1.

<select name="leeftijd" id="leeftijd">
<option value="354,75" selected>23 jaar en ouder </option>
<select><br />
<select name="opleidingsfactor" id="opleidingsfactor">
<option value="1,6">mbo</option>
<option value="1,9" selected >hbo</option>
<select><br />

<script type="text/javascript">
function bereken(){
var leeftijd = parseInt(jQuery("#leeftijd").val());
console.log("Leeftijd: " + leeftijd);
var leeftijd = leeftijd.toFixed(2);
var opleidingsfactor = parseInt(jQuery("#opleidingsfactor").val());
console.log("Hoogst genoten opleiding: " + opleidingsfactor);
var opleidingsfactor = opleidingsfactor.toFixed(1);

Verderop in de berekening kan ik uurtarief + meerprijs niet bij elkaar optellen, omdat de + teken niet als optelling wordt gelezen. Hierdoor wordt bijvoorbeeld € 100,00 + € 21,00 geen € 121,00.
var totaal = uurtarief + meerprijs;
var totaal2 = totaal.toFixed(2);

En bij uurtarief moet bijvoorbeeld de uitkomst € 127,75 worden afgerond op € 130,00 met Math.ceil om verder te kunnen rekenen. Hoe doe ik dat precies, want als in de lijst een andere keuze wordt gemaakt, komt er een ander bedrag uit en ook dit bedrag moet op de dichtstbijzijnde € 10,00 worden afgerond, bijvoorbeeld € 572,92 moet worden € 570,00.

De uitkomst wordt als berekentekst weergegeven nadat ik het met jquery heb doorgevoerd. Alvast bedankt, want als deze drie vragen zijn beantwoord, dan hoef ik geen excel meer te gebruiken.
 
PHP hulp

PHP hulp

22/11/2024 10:09:00
 
- SanThe -

- SanThe -

06/07/2016 12:31:59
Quote Anchor link
Begin eens met getallen niet een komma maar een punt te geven.
 
Ivo P

Ivo P

06/07/2016 12:39:36
Quote Anchor link
"€ 572,92 moet worden € 570,00."

dus 57.2 moet afgerond worden tot 57 (en dan een 0 erachter)

round(572.92/10) * 10

want dat is dus round(57.292) * 10 = 57 * 10 = 570

werkt ook voor het naar boven afronden.
 
Jsun Dasburg

Jsun Dasburg

06/07/2016 13:30:26
Quote Anchor link
Ivo: bedankt, precies waar ik naar opzoek was. SanThe: sorry verkeerde copy/paste. Ik heb in mijn werkelijke script wel een . in plaats van een , staan, maar het probleem van de afronding blijft. 1.6 en 1.9 worden beiden afgerond op 1, waardoor de uitkomst onjuist is.
 
Thomas van den Heuvel

Thomas van den Heuvel

06/07/2016 14:37:49
Quote Anchor link
Sja, je gebruikt ook parseInt(), niet parseFloat().
 
Jsun Dasburg

Jsun Dasburg

06/07/2016 16:31:12
Quote Anchor link
Thomas bedankt. Het werkt met parseFloat.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.