Heim > Web-Frontend > js-Tutorial > Warum liefert „parseInt' manchmal unerwartete Ergebnisse mit führenden Nullen?

Warum liefert „parseInt' manchmal unerwartete Ergebnisse mit führenden Nullen?

Patricia Arquette
Freigeben: 2024-12-11 01:42:14
Original
803 Leute haben es durchsucht

Why Does `parseInt` Sometimes Give Unexpected Results with Leading Zeros?

Umgehen des verwirrenden ParsInt-Oktalverhaltens von JavaScript

Die parseInt-Funktion von JavaScript verhält sich gelegentlich unerwartet, insbesondere beim Umgang mit führenden Nullen. Insbesondere werden Zahlen mit führenden Nullen fälschlicherweise als oktale Ganzzahlen interpretiert, was zu fehlerhaften Ausgaben führt. Dieses Problem ergibt sich aus der Annahme der parseInt-Funktion, dass eine führende Null eine Oktalzahl bezeichnet. Da Oktalzahlen 8 und 9 ausschließen, werden Werte, die mit diesen Ziffern beginnen, fälschlicherweise als Nullen interpretiert.

Den oktalen Haken überwinden

Glücklicherweise gibt es mehrere Strategien, um diese Besonderheit zu umgehen Verhalten:

1. Explizite Basisspezifikation:

Durch die explizite Definition der Basis oder Basis können wir sicherstellen, dass parseInt die Eingabe als Dezimalzahl interpretiert. Zum Beispiel:

parseInt('08', 10); // 8
Nach dem Login kopieren

2. Zahlenmethode:

Eine weitere Option ist die Verwendung der Zahlenmethode, die die Eingabe automatisch als Dezimalzahl interpretiert:

Number('08'); // 8
Nach dem Login kopieren

Hinweis:

Der ES5-Standard führte eine Modifikation ein, die dieses rätselhafte Oktalverhalten beseitigt. Diese Änderung ist jedoch browserabhängig. Weitere Informationen finden Sie in der Mozilla-Dokumentation.

Das obige ist der detaillierte Inhalt vonWarum liefert „parseInt' manchmal unerwartete Ergebnisse mit führenden Nullen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage