afronden

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.267
Hallo

onderstaande wordt gebruikt om een tekstveld in te vullen (id =xx)

oa slider1 en rangeValue1

ik zie getallen als 0.9 en 0.89999 terwijl ik 0.90 en 0.89 wil


Hoe krijg ik deze afronding , heb al wat geprobeerd Math.round ed maar kom er niet uit
Code:
<script>
        function printValue(sliderID, textbox) {

            var x = document.getElementById(textbox);

            var y = document.getElementById(sliderID);

            x.value = y.value;

        }
		
		

        window.onload = function() { printValue('slider1', 'rangeValue1'); printValue('prijseenheid', 'rangeValue2'); printValue('slider3', 'rangeValue3'); printValue('slider4', 'rangeValue4'); }
		
		
		    </script>
 
Hoi,

Je kan met Math.round getallen afronden naar hele getallen, wil je het op 1 decimaal afronden, dan kan je het Math.round(getal*10)/10 gebruiken.

Wil je naar beneden afronden, dan kan je Math.floor(getal) gebruiken. Afronden naar boven met Math.ceil().

Afronden met 1 decimaal is ook Math.floor(getal*10)/10. Meer nullen achter de 10en is meer decimalen.

mvg, eeopd
 
bedankt voor antwoordt

eigen lijk zit ik al 2 decimalen achter de .punt getallen van 0.50 tot 1.20

en krijg nu soms 0.500000000000001 enz

zoals ik al zie heb ik al een en ander geprobeerd met Math round..

ik denk dat ik niet precies weet waar toe te passen in code
 
Dat kan op de laatste regel van de functie (verander 'm in dit):

[js]x.value = Math.floor(ParseFloat(y.value) / 100) * 100;[/js]



:thumb:
 
schijnt helaas niet te werken

voor de volledigheid de ontbrekende code

het gaat om nieuwigheid in html5 Input Type : Number

(werkt niet in IE !)

je ziet als je schuift waarden als 0.8200000000000 0.9 ed ipv de gewilde 0.82 en 0.90

Code:
<input id="slider1" type="range" min="0.40" max="1.00" step="0.01" value ="0.74" onchange="printValue('slider1','rangeValue1')"/>

                   <input type="text" id="rangeValue1" value="0.74" size="2"/>
 
Laatst bewerkt:
Ah, ik zie 't al: parseFloat moet met een 1e kleine p. Typfoutje.

Heb 't even getest, en dit werkte wel voor mij:


[js]x.value = parseFloat(y.value).toFixed(2);[/js]




:thumb:
 
Ok dat was ,,hem thatguy ,,beiden bedankt voor reactie:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan