In diesem Kapitel wird erläutert, wie die Beibehaltung von zwei Dezimalstellen für Zahlen erreicht wird. Wenn die Zahl weniger als zwei ursprüngliche Dezimalstellen hat, werden die fehlenden Stellen automatisch mit Nullen aufgefüllt Schauen Sie sich zuerst das Codebeispiel an:
function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ value=value.toString()+".00"; return value; } if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; } } var num=3.1; console.log(returnFloat(num));
Der obige Code erfüllt unsere Anforderungen. Hier finden Sie eine Einführung in seinen Implementierungsprozess.
1. Codekommentare:
1.Funktion returnFloat(value){}, der Parameter ist die umzuwandelnde Zahl.
2.var value=Math.round(parseFloat(value)*100)/100, dies sollte der Kern der Funktion sein, parseFloat(value) konvertiert den Parameter in eine Gleitkommazahl, da der Parameter a sein kann stringDer Grund für die Multiplikation mit 100 besteht darin, zwei Dezimalstellen beizubehalten. Verschieben Sie zunächst den Dezimalpunkt um zwei Stellen nach rechts, führen Sie dann Rundungsberechnungen durch und dividieren Sie schließlich durch 100. Zwei Dezimalstellen bleiben erhalten, aber das ist nicht perfekt. Wenn die Anzahl der Dezimalstellen in der Parameterzahl selbst größer oder gleich 2 ist, ist dies in Ordnung, z. B. 3,1415, aber es gibt immer noch Keine perfekte Implementierung wie 3 oder 3.0. Siehe weiter unten.
3.var xsd=value.toString().split("."), verwenden Sie den Punktwert ".", um ihn in ein Array aufzuteilen.
4.if(xsd.length==1){value=value.toString() ".00";return value;}, wenn die Länge des Arrays 1 ist, also keine Dezimalstelle vorhanden ist , dann werden zwei Nullen zu dieser Zahl hinzugefügt, zum Beispiel wird 3 in 3,00 umgewandelt.
5.
if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; }
if(xsd.length>1) wird verwendet, um zu bestimmen, ob die Länge der Zahl größer als 1 ist, das heißt, ob die Zahl eine Dezimalstelle hat, aber die Anzahl der Dezimalstellen kleiner ist als 2, was 3.1 ähnelt, wird es in 3.10 umgewandelt, indem eine 0 hinzugefügt wird.
2. Verwandte Lerntutorials:
1.Math.round() finden Sie im Kapitel Javascripts Math.round()-Methode .
2. Die Funktion parseFloat() finden Sie im Kapitel Javascript parseFloat().
3. Informationen zur Funktion toString() finden Sie im Kapitel Die toString()-Methode des Number-Objekts in JavaScript .
4. Die Funktion split() finden Sie im Kapitel Die Methode split() des String-Objekts von JavaScript.