Ich habe eine Zahl wie diese 20000 und eine andere Zahl wie diese 3. Die zweite Zahl ist die Dezimalstelle der ersten Zahl. Das Ergebnis muss so 20.000 zeigen, aber ich habe keine Ahnung, wie ich es machen kann.

Ich habe es mit dieser Funktion versucht:

http://jsfiddle.net/w3LtM/

function getNumber(number, decimal) { 

    var n=number.toFixed(decimal); 
    return n;
}

getNumber(20000, 3)

Das Ergebnis ist jedoch "20000.000".

Haben sie eine Idee?

2
mal200 21 Nov. 2013 im 13:20

3 Antworten

Beste Antwort

Teilen Sie Ihre Zahl zuerst durch Ihre Dezimalstelle hoch 10 und verwenden Sie dann toFixed()

function getNumber(number, decimal) {
   var n = (number/Math.pow(10,decimal)).toFixed(decimal); 
   return n;
}

Dann gibt Ihr Anruf getNumber(20000, 3); die richtige Formatierung 20.000 zurück.

Hier ist deine Updatet-Geige:

http://jsfiddle.net/w3LtM/17/

3
Igle 21 Nov. 2013 im 09:57

Versuche dies:

function getNumber(number, decimal) {
    var n = number;
    for (i = 0; i < decimal; i++) {
        n = n / 10;
    }
    return parseFloat(n).toFixed(decimal);
}

alert(getNumber(20000, 3));

Hier ist Geige

0
Zaheer Ahmed 21 Nov. 2013 im 09:26
function getNumber(number, decimal) {
    return (number / Math.pow(10,decimal)).toFixed(decimal);
}

alert(getNumber(20000, 3));

Warnungen "20.000" :)

Geige arbeiten

0
Alex 21 Nov. 2013 im 09:28