Avatar billede AnyFellow Mester
21. juli 2007 - 17:06 Der er 2 kommentarer og
1 løsning

Komma og punktum som decimal-seperat

Hej

Er der en der vil lave en 2 små funktioner for 200 point til mig?

Jeg har et felt hvor brugeren indtaster et tal.
Dette tal skal bruges til nogle udregninger. Derfor er det vigtigt at et evt. komma i tallet udskiftes med et punktum, således mine udregninger bliver korrekte.

Resultaterne af disse udregninger vil índeholde punktum som decimal-seperator.
Jeg har brug for en funktion der ændrer dette til et komma, samtidig med at facit altid vil være med 2 decimaler (12,32 eller f.eks. 12,00).
Avatar billede olebole Juniormester
21. juli 2007 - 21:59 #1
<ole>

<script type="text/javascript">
function calc() {
    var a, n2, n = document.getElementById("tal").value.replace(",", ".")*1;
   
  // Nu kan du regne med tallet n:
    n2 = n * 27.1234;

  // Efter beregningerne runder af til to decimaler:
    n2 = Math.round(n2*100)/100;

  // - konverterer til streng og skifter tilbage til komma:
    n2 = (n2 + "").replace(".", ",");

  // - tjek, om der faktisk er to decimaler - ellers fix det:
    a = n2.split(",");
    if (a.length>1) {
        if (a[1]<10) a[1] = a[1] + "0";   
        n2 = a.join(",");
    }
    else n2 = n2 + ",00";

  // Udskriv resultat:
    document.getElementById("res").value = n2;
}

</script>

<input id="tal" type="text">
<br>
<input id="res" type="text">
<br>
<button onclick="calc()">Beregn</button>

/mvh
</bole>
Avatar billede AnyFellow Mester
22. juli 2007 - 10:00 #2
olebole...> Det er lige hvad jeg skal bruge, dog har jeg et enkelt problem.

Hvordan retter jeg linien:
var a, n2, n = document.getElementById("tal").value.replace(",", ".")*1;

således den vil bruge værdien herfra:
calc(number)
Avatar billede olebole Juniormester
22. juli 2007 - 14:46 #3
var a, n2, n = (number+"").replace(",", ".")*1;

Replace-metoden virker kun på strenge, så derfor konverterer jeg først 'number' til en streng (hvis det nu skulle være et rigtigt tal) med udtrykket: (number+"")

Efter replace af et evt. komma konverterer jeg igen strengen til et tal ved at gange den med 1.

- og tak for points  ;o)
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