Gibt es eine bessere Möglichkeit, die Anzahl der Dezimalstellen einer Zahl herauszufinden, als in meinem Beispiel?Der einfachste Weg, die Anzahl der Dezimalstellen in einer Zahl in JavaScript zu erhalten
var nbr = 37.435.45;
var decimals = (nbr!=Math.floor(nbr))?(nbr.toString()).split('.')[1].length:0;
Mit besser ich meine schneller ausführen und/oder mit einer nativen JavaScript-Funktion, dh. etwas wie nbr.getDecimals().
Vielen Dank im Voraus!
EDIT:
Nach series0ne Antwort ändern, ich der schnellste Weg ist gelänge:
var val = 37.435345;
var countDecimals = function(value) {
if (Math.floor(value) !== value)
return value.toString().split(".")[1].length || 0;
return 0;
}
countDecimals(val);
Geschwindigkeitstest: http://jsperf.com/checkdecimals
Werfen Sie einen Blick auf diese sehr gründliche Antwort http://stackoverflow.com/questions/10454518/javascript-how-to-retrieve-the-number-of-decimals-of-a-string-number – Archer
Vielen Dank, aber die Fragesteller hat angegeben, dass es eine Dezimalzahl in den Zahlen geben muss, während ich nicht. +1 für den interessanten Link – PhilTrep
@ PhilippeTrépanier, überlegen Sie, was es im großen Plan der Dinge wichtiger ist. Wie schnell wird das JavaScript ausgeführt (der Unterschied zwischen meiner Antwort und Pete D's ist minimal) und die Geschwindigkeit, die es auf den Client herunterlädt? Da Pete Ds Antwort ein paar Bytes kürzer ist, würde ich persönlich in einer misslichen Lage sein, in der man wählen könnte. – series0ne