Heim > häufiges Problem > js Rundung

js Rundung

百草
Freigeben: 2023-07-04 10:07:03
Original
19001 Leute haben es durchsucht

js-Rundungsmethoden: 1. tofixed-Methode, die eine Zahl auf eine Zahl mit angegebenen Dezimalstellen runden kann. 2. Round()-Methode, die eine Zahl auf die nächste ganze Zahl runden kann.

js Rundung

1, tofixed-Methode

toFixed()-Methode kann Number auf eine Zahl mit angegebenen Dezimalstellen runden. Wenn die Datenzahl beispielsweise auf 2 Dezimalstellen beschränkt wird, wird sie wie folgt ausgedrückt: toFixed(Num); die Rundungsregeln unterscheiden sich jedoch von denen in der Mathematik: die sogenannte Banker-Rundung Die Rundungsmethode des Bankiers besteht im Wesentlichen aus einer Methode, bei der auf fünf gerundet wird, um eine gerade Zahl zu erhalten (auch bekannt als „auf fünf aufrunden und gerade bleiben“). Die spezifischen Regeln lauten wie folgt:

Um es einfach auszudrücken: Erwägen Sie das Aufrunden auf fünf. Wenn die Zahl nach fünf nicht Null ist, addieren Sie eins. Wenn die Zahl nach fünf Null ist, ist sie ungerade oder gerade Bevor fünf gerade ist, sollte sie verworfen werden. Wenn die Zahl vor fünf ungerade ist, sollte sie um eins gerundet werden.

Offensichtlich entspricht diese Regel nicht der Art und Weise, wie wir normalerweise mit Daten umgehen. Um dieses Problem zu lösen, können Sie die Implementierung mithilfe der Math.round-Methode anpassen, um anzugeben, wie viele Datenbits für die Verarbeitung aufbewahrt werden sollen.

2, Rundungsmethode

round()-Methode kann eine Zahl auf die nächste ganze Zahl runden. Beispiel: Math.round(x) setzt x auf die nächste Ganzzahl. Die Rundungsmethode wird in der Rundungsmethode verwendet, die den Rundungsregeln in der Mathematik entspricht. Die Verarbeitung von Dezimalzahlen ist nicht so komfortabel, kann aber an unterschiedliche Anforderungen angepasst werden.

Zum Beispiel: Um X mit zwei Dezimalstellen zu verarbeiten, können Sie Math.round(X * 100) / 100 zur Verarbeitung verwenden.

Anderer Inhalt:

In JavaScript lauten die Szenarios zum Runden von Werten wie folgt:

Aufrunden: ceil Abrunden: floor Abrunden: rund Feste Genauigkeit: toFixed Feste Länge: toPrecision Rundung: parseInt, Bitoperation

In diesem Artikel werden diese 6 APIs kurz erläutert und zusammengefasst.

1. Aufrunden: ceil

ceil bedeutet „Obergrenze“, also die ganze Zahl über einem Wert, die der Zahl am nächsten kommt. ceil ist eine statische Methode des Math-Objekts und muss einen Parameter übergeben:

Math.ceil(12.34); //13

2 unten: Boden

Boden bedeutet „Boden“, also die nächste Ganzzahl unter einem Wert. floor ist eine statische Methode des Math-Objekts und muss einen Parameter übergeben:

Math.floor(12.34); // 12

3 :round

round Die Funktion besteht darin, eine Gleitkommazahl zu runden und die ganzzahligen Ziffern beizubehalten. Round ist ebenfalls eine statische Methode des Math-Objekts und muss auch einen Parameter übergeben:

Math.round(12.34); // 12Math.round(12.54); . Feste Genauigkeit: toFixed

toFixed ist eine auf dem Number-Prototyp implementierte Methode. Ihre Funktion besteht darin, eine Gleitkommazahl zu runden und feste Dezimalstellen beizubehalten. toFixed muss einen Parameter übergeben und seine Aufrufmethode lautet wie folgt:

100.456001.toFixed(2); // 100.46100.456001.toFixed(3); // 100.456

5. Feste Länge: toPrecision

toPrecison Ist auch auf dem Number-Prototyp implementiert. Im Gegensatz zu toFixed rundet es eine Gleitkommazahl und behält eine feste Länge signifikanter Ziffern bei, einschließlich des ganzzahligen Teils.

99.456001.toPrecision(5); // 99.456100.456001.toPrecision(5); // 100.46

6. Rundung: parseInt

parseInt ist eine Methode im globalen Objektfenster und ihre Funktion besteht darin, sie zu konvertieren Der Wert wird gerundet und in die folgenden zwei Situationen unterteilt:

1. Konvertieren Sie den Zeichenfolgenwert in eine Ganzzahl und konvertieren Sie jedes Zeichen der Zeichenfolge, bis ein nicht konvertierbares Zeichen (einschließlich des Dezimalpunkts) auftritt.

2. Runden Sie den Gleitkommawert, ignorieren Sie den Dezimalteil und runden Sie nicht auf

// String-Wert parseInt('100'); // 100parseInt('100xh20') ; Bitweise ODER-Verknüpfung durchführen, der ursprüngliche Wert bleibt unverändert ~~: Der durch zwei bitweise NICHT-Operationen erhaltene ursprüngliche Wert ist auch der ursprüngliche Wert>> 0: Verschiebung nach rechts um 0 Bits<< ;> 0: Vorzeichenlose Rechtsverschiebung um 0 Bits

Diese Bitoperatoren weisen bei der Implementierung von Rundungsoperationen einige gemeinsame Merkmale auf:


Beim Typ „Zahl“ führt die direkte Anwendung von Bitoperationen fast zum gleichen Ergebnis wie bei anderen Typen , wird er intern über Number() in einen numerischen Wert konvertiert, bevor Bitoperationen angewendet werden. Wenn Bitoperationen auf die speziellen NaN- und Infinity-Werte angewendet werden, werden beide Werte als 0 behandelt.

Beim Zahlentyp werden Bitoperationen direkt angewendet.

~ 100100,78 | // 100100,45 >> 0; // 100100,96 >>

Für andere Typen verwenden Sie zunächst Number(), um in einen numerischen Typ zu konvertieren, und führen Sie dann Bitoperationen durch.

~~ '100.12' // 100, Zahl('100.12') == 100.12'100.50' >> 0; // 100, Zahl('100.50') == 100.50'100.96' << ; // 100, Number('100.96') == 100.96~~ 'abc' // 0, Number('abc') == NaN'12abc' > // 0, Number('12abc' ) == NaNundefiniert |. // 0, Zahl(undefiniert) == NaN~~null; // 0 , Zahl(null) == 0; // 1 , Zahl(wahr) == 1false >> 0; //0 , Number(false) == 0[] << 0 , Number([]) == 0~~NaN; ; 0; // 0

Bitweise Operationen arbeiten auf der grundlegendsten Ebene, d. h. sie arbeiten mit Werten, die auf den Bits im Speicher basieren, die den Wert darstellen.

Der Grund, warum Bitoperationen gerundet werden können, ist:

Zahlen in ECMAScript werden als 64-Bit-Gleitkommazahlen mit doppelter Genauigkeit gespeichert, Bitoperationen können jedoch nur auf Ganzzahlen angewendet werden, daher müssen die 64-Bit-Gleitkommazahlen gerundet werden Zuerst in 32-Bit-Ganzzahlen umwandeln, dann Bitoperationen durchführen und schließlich die Berechnungsergebnisse zur Speicherung in 64-Bit-Gleitkommazahlen umwandeln.

Das obige ist der detaillierte Inhalt vonjs Rundung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage