Avatar billede dennism Nybegynder
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?
Avatar billede erikjacobsen Ekspert
25. oktober 2005 - 17:03 #1
size = Math.round(size*100)/100;
Avatar billede barklund Nybegynder
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
Avatar billede roenving Novice
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";
}
Avatar billede erikjacobsen Ekspert
25. oktober 2005 - 17:09 #4
Sikkert fordi navnemakkeren i PHP gør http://php.net/round
Avatar billede dennism Nybegynder
25. oktober 2005 - 17:10 #5
erikjacobsen >>

Tak - smider ud lige et svar?
Avatar billede dennism Nybegynder
25. oktober 2005 - 17:11 #6
Jep - det var en vane fra PHP ;)
Avatar billede erikjacobsen Ekspert
25. oktober 2005 - 17:32 #7
Jeg samler ikke på point, tak.
Avatar billede dennism Nybegynder
25. oktober 2005 - 17:37 #8
Oki - men tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester