Wenn Sie in JS die tofixierte Funktion im Allgemeinen verwenden, wenn Sie N -Bits nach dem Dezimalpunkt beibehalten, können Sie die verwenden
Die Codekopie lautet wie folgt:
<script Language = "JavaScript">
document.write ("<h1> js behält zwei Dezimalzahlen bei. Beispiel </h1> <br>");
var a = 2,1512131231231321;
document.write ("Originalwert:"+a+"<br>");
document.write ("Zwei Dezimalpunkte:"+a.tofixed (2)+"<br> vier Dezimalpunkte"+a.tofixed (4));
</script>
Runden Konvertierungsfunktion wie folgt:
Die Codekopie lautet wie folgt:
Funktionsrunde (v, e) {
var t = 1;
für (; e> 0; t*= 10, e-);
für (; e <0; t/= 10, e ++);
return math.round (v*t)/t;
}
In den Parametern:
v bedeutet, dass der zu konvertierende Wert
E gibt die Anzahl der Ziffern an, die beibehalten werden sollen
Die beiden für in der Funktion sind dies der Schlüsselpunkt.
Der erste für den Fall, in dem sich der Dezimalpunkt auf der rechten Seite befindet, dh wie viele Ziffern auf der rechten Seite des Dezimalpunkts erhalten bleiben;
Der zweite für den Fall auf der linken Seite des Dezimalpunkts ist, dh wie viele Ziffern auf der linken Seite des Dezimalpunkts erhalten bleiben.
Die Funktion von ist, den Wert von t zu berechnen, dh das Vielfache, wie oft V vergrößert oder reduziert werden sollte (multiple = t).
Denn hier verwendet zwei Merkmale für, bedingte Beurteilung und Zählerakkumulation (Schleife),
Wenn E die Bedingung für Fortsetzung erfüllt und E jedes Mal ansammelt (E ist es, eine Bedingung zu erstellen, die den Zyklus nicht entspricht), wird auch der Wert von T berechnet.
Schließlich wird die native runde Methode verwendet, um das Ergebnis des vergrößerten/schrumpfbaren V zu berechnen, und dann ist das Ergebnis auf das richtige Mehrfaches vergrößert/schrumpfbar.
Im Folgenden sind verschiedene Beispiele für zurückgehaltene zweistellige Zahlen aufgeführt
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
// zwei Dezimalstellen behalten
// Funktion: runde schwimmende Punktzahl und nehmen 2 Dezimalstellen nach dem Dezimalpunkt ein
Funktion todecimal (x) {
var f = parsefloat (x);
if (isnan (f)) {
zurückkehren;
}
f = math.round (x*100)/100;
Rückkehr f;
}
// Das System behält 2 Dezimalstellen beispielsweise: 2, 00 werden nach 2 hinzugefügt, dh 2.00 werden hinzugefügt.
Funktion todecimal2 (x) {
var f = parsefloat (x);
if (isnan (f)) {
false zurückgeben;
}
var f = math.round (x*100)/100;
var s = f.tostring ();
var rs = S.Indexof ('.');
if (rs <0) {
Rs = S.Length;
s += '.';
}
while (S.Length <= rs + 2) {
s += '0';
}
Rückkehr s;
}
Funktion Fomatfloat (SRC, POS) {
return math.round (src*math.pow (10, pos))/math.pow (10, pos);
}
// Rundung
ALERT ("Reserve 2 Dezimalstellen:" + todecimal (3.14159267));
ALERT ("gezwungen, 2 Dezimalstellen zu behalten:" + todecimal2 (3.14159267));
ALERT ("Reserve 2 Dezimalstellen:" + todecimal (3.14559267));
Alarm ("gezwungen, 2 Dezimalstellen zu behalten:" + todecimal2 (3.15159267));
Alarm ("Reserve 2 Dezimalstellen:" + Fomatfloat (3.14559267, 2));
Alarm ("Reserve 1 Dezimalplatz:" + Fomatfloat (3.15159267, 1));
// fünf Runden und sechs Runden
Alert ("Reserve 2 Dezimalstellen:" + 1000.003.Tofixed (2));
Alert ("Reserve 1 Dezimalstelle:" + 1000.08.Tofixed (1));
Alert ("Reserve 1 Dezimalplatz:" + 1000.04.Tofixed (1));
Alert ("Reserve 1 Dezimalplatz:" + 1000.05.Tofixed (1));
// wissenschaftliche Graf
Alert (3.1415.Toexponential (2));
Alert (3.1455. Toexponential (2));
Alert (3.1445. Toexponential (2));
Alert (3.1465. Toexponential (2));
Alert (3.1665. Toexponential (1));
// Genau zur N -Position ohne N -Position
ALERT ("Genau zum zweiten Dezimalpunkt" + 3.1415.Topräzision (2));
ALERT ("Genau zum dritten Dezimalplatz" + 3.1465.Topräzision (3));
ALERT ("Genau zum zweiten Dezimalpunkt" + 3.1415.Topräzision (2));
ALERT ("Genau zum zweiten Dezimalpunkt" + 3.1455.Topräzision (2));
Alarm ("Genau zum 5. Dezimalplatz" + 3.141592679287.Toprecision (5));
</script>
Das obige ist der gesamte Code. Ist es super einfach? Ich hoffe, es wird für alle hilfreich sein