Avatar billede mik28 Seniormester
18. oktober 2002 - 14:18 Der er 6 kommentarer og
1 løsning

0.00

Hvordan sikre jeg mig at et tal har præcis 2 decimaler?


    var pris = "2,2654456";

    document.write("SEK" +" "+parseFloat(pris.replace( /\,/, "." ))*1000);
Avatar billede limemedia Nybegynder
18. oktober 2002 - 14:22 #1
hermed en lille universal funktion

function formatAsMoney(mnt) {
  mnt -= 0;
  mnt = (Math.round(mnt*100))/100;
  return (mnt == Math.floor(mnt)) ? mnt + '.00' : ((mnt*10 == Math.floor(mnt*10)) ? mnt + '0' : mnt);
}


således bliver din linie til
var pris = "2,2654456";
document.write("SEK" +" "+formatAsMoney(pris.replace(/\,/, "." )));

sidste linie utestet, funktionen ved jeg virker


/ Lars
www.ljweb.com
Avatar billede mik28 Seniormester
18. oktober 2002 - 14:40 #2
Hmmm. Det kan jeg ikke få til at virke :-( Findes der ikke en funktion som kan skære et tal til så det har to decimaler
Avatar billede limemedia Nybegynder
18. oktober 2002 - 14:48 #3
laver lige et eksempel der virker...
Avatar billede limemedia Nybegynder
18. oktober 2002 - 14:51 #4
<script language="JavaScript" type="text/javascript">
<!--
    function formatAsMoney(mnt) {
        mnt -= 0;
        mnt = (Math.round(mnt*100))/100;
        return (mnt == Math.floor(mnt)) ? mnt + '.00' : ((mnt*10 == Math.floor(mnt*10)) ? mnt + '0' : mnt);
    }

    var pris = 2.2654456;
    document.write('SEK '+formatAsMoney(pris));
//-->
</script>

prisen er her angivet med ., jeg laver også en med komma
Avatar billede limemedia Nybegynder
18. oktober 2002 - 14:53 #5
prisen som et komma

<script language="JavaScript" type="text/javascript">
<!--
    function formatAsMoney(mnt) {
        mnt -= 0;
        mnt = (Math.round(mnt*100))/100;
        return (mnt == Math.floor(mnt)) ? mnt + '.00' : ((mnt*10 == Math.floor(mnt*10)) ? mnt + '0' : mnt);
    }

    var pris = "2,2654456";
    document.write('SEK '+formatAsMoney(pris.replace(/\,/, "." )));
//-->
</script>
Avatar billede mik28 Seniormester
22. oktober 2002 - 09:00 #6
Tak for hjælpen :-) Kan du vise mig hvordan jeg får rundet af til nærmeste .25 :-)))))))))))))
Avatar billede limemedia Nybegynder
22. oktober 2002 - 10:02 #7
er det ikke gange med 4, floor og divider med 4 ... prøv det
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