25. oktober 2005 - 16:59
Der er
7 kommentarer og 1 løsning
JavaScript: Math
Jeg har dette lille script: <script language="javascript"> var size = 0.12345; size = Math.round(size,2); alert(size); </script> Det skulle gerne afrunde til 2 decimaler og printe på skærmen - men jeg får 0 som resultat. Er det fordi Math ikke opfatter size som et tal? Hvordan får jeg det til at virke?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
25. oktober 2005 - 17:03
#1
size = Math.round(size*100)/100;
25. oktober 2005 - 17:03
#2
Hvor har du læst, at Math.round tager et andet argument, som angiver antallet af decimaler? For det gør den altså ikke :) Gang istedet med 100, afrund, divider med 100: <script language="javascript"> var size = 0.12345; size = Math.round(100*size)/100; alert(size); </script> Eller med en generelt roundAt: <script language="javascript"> function roundAt(n, d) { var e = Math.pow(d); return Math.round(e * n)/e; } var size = 0.12345; size = roundAt(size,2); alert(size); </script> :) -- Morten Barklund
25. oktober 2005 - 17:06
#3
Eller hvis man altid vil have det med præcis 2 cifre: function afrund(tal){ if(isNaN(tal))return "0,00"; tal = ""+(Math.round(tal*100))/100; punktum = tal.indexOf("."); if (punktum==-1)return tal+".00"; if (tal.length-punktum==3)return tal; else return tal+"0"; }
25. oktober 2005 - 17:10
#5
erikjacobsen >> Tak - smider ud lige et svar?
25. oktober 2005 - 17:11
#6
Jep - det var en vane fra PHP ;)
25. oktober 2005 - 17:32
#7
Jeg samler ikke på point, tak.
25. oktober 2005 - 17:37
#8
Oki - men tak for hjælpen
Vi tilbyder markedets bedste kurser inden for webudvikling