aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/global_objects/parseint
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:15 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:15 -0500
commit4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch)
treed4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/javascript/reference/global_objects/parseint
parent33058f2b292b3a581333bdfb21b8f671898c5060 (diff)
downloadtranslated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz
translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2
translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip
initial commit
Diffstat (limited to 'files/de/web/javascript/reference/global_objects/parseint')
-rw-r--r--files/de/web/javascript/reference/global_objects/parseint/index.html195
1 files changed, 195 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/global_objects/parseint/index.html b/files/de/web/javascript/reference/global_objects/parseint/index.html
new file mode 100644
index 0000000000..39641b060a
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/parseint/index.html
@@ -0,0 +1,195 @@
+---
+title: parseInt()
+slug: Web/JavaScript/Reference/Global_Objects/parseInt
+tags:
+ - JavaScript
+translation_of: Web/JavaScript/Reference/Global_Objects/parseInt
+---
+<div>{{jsSidebar("Objects")}}</div>
+
+<p>Die <strong><code>parseInt()</code></strong> Methode liest ein String-Argument ein und gibt eine ganze Zahl im angegebenen Zahlensystem zurück.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/globalprops-parseint.html")}}</div>
+
+
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox">parseInt(<em>string</em>, <em>radix</em>);</pre>
+
+<h3 id="Parameter">Parameter</h3>
+
+<dl>
+ <dt><code>string</code></dt>
+ <dd>Umzuwandelnder Wert. Wenn <code>string</code> kein String ist, wird er zu einem String konvertiert (durch die abstrakte Operation <code><a href="http://www.ecma-international.org/ecma-262/6.0/#sec-tostring">ToString</a></code>). Führende Leerzeichen im String werden ignoriert.</dd>
+</dl>
+
+<dl>
+ <dt><code>radix</code></dt>
+ <dd>Eine ganze Zahl zwischen 2 und 36, die die Basis eines mathematischen Zahlensystems ist, in der der String geschrieben ist. 10 steht für das gebräuchliche Dezimalsystem.</dd>
+</dl>
+
+<h3 id="Rückgabewert">Rückgabewert</h3>
+
+<p>Eine ganze Zahl des übergebenen Strings. Wenn das erste Zeichen nicht zu einer Zahl konvertiert werden kann, wird {{jsxref("NaN")}} zurückgegeben.</p>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p>Die <code>parseInt</code> Funktion konvertiert das erste Argument zu einem String, analysiert diesen und gibt eine ganze Zahl oder <code>NaN</code> zurück. Wenn nicht <code>NaN</code> zurückgegeben wird, ist der Wert des ersten Arguments eine gültige ganze Zahl im entsprechenden Zahlensystem. Zum Beispiel wird im 10er-Zahlensystem von einer Dezimalzahl ausgegangen, im 8er-System von einer Oktalzahl, im 16er-System von einer Hexadezimalzahl und so weiter. Für die Basis eines Zahlensystems größer als <code>10</code> sind Buchstaben des Alphabets Repräsentanten für Zahlen größer als <code>9</code>. Zum Beispiel werden für Hexadezimalezahlen (Basis 16) die Buchstaben <code>A</code> bis <code>F</code> eingesetzt.</p>
+
+<p>Wenn <code>parseInt</code> ein Zeichen findet, welches keine Ziffer im spezifizierten Zahlensystem ist wird dieses und alle folgenden Zeichen ignoriert. <code>parseInt</code> schneidet Nachkommstellen ab. Führende und nachgestellte Leerzeichen sind erlaubt.</p>
+
+<p>Weil einige Zahlen mit einem <code>e</code> Zeichen in ihrer String-Repräsentation (z. B. <strong><code>6.022e23</code></strong>), führt der Einsatz von <code>parseInt</code> zum Abschneiden von nummerischer Wert und unerwarteten Ergebnissen, wenn große oder kleine Zahlen verwendet werden. <code>parseInt</code> sollte nicht als Ersatz für {{jsxref("Math.floor()")}} eingesetzt werden.</p>
+
+<p>Wenn <var>radix</var> <code>undefined</code> oder 0 ist (oder fehlt), nimmt JavaScript folgendes an:</p>
+
+<ul>
+ <li>Wenn <code>string</code> mit <code>"0x"</code> oder <code>"0X"</code> beginnt, wird das Hexadezimalsystem verwendet.</li>
+ <li>Wenn <code>string</code> mit <code>"0"</code> beginnt, wird das Oktal- oder Dezimalsystem verwendet (Implementierungsabhängig). ECMAScript 5 spezifiziert das Dezimalsystem, jedoch unterstützen das nicht alle Browser. <strong>Deswegen sollte der Parameter <code>radix</code> immer angegeben werden</strong></li>
+ <li>Wenn <code>string</code> mit einem anderen Zeichen beginnt, wird das Dezimalsystem verwendet.</li>
+</ul>
+
+<p>Wenn das erste Zeichen nicht zu einer Zahl konvertiert werden kann, gibt <code>parseInt</code> <code>NaN</code> zurück.</p>
+
+<p>Für arithmetische Zwecke ist <code>NaN</code> in keinem Zahlensystem eine Zahl. Man kann die Funktion {{jsxref("isNaN", "isNaN()")}} aufrufen, um zu prüfen, ob das Ergebnis von <code>parseInt</code> <code>NaN</code> ist. Wenn <code>NaN</code> in einer arithmetischen Operation eingesetzt wird, ist das Ergebnis auch immer <code>NaN</code>.</p>
+
+<p>Um Zahlen in String-Repräsentationen in verschiedenen Zahlensystemen zu konvertieren nutze folgendes:<br>
+ <code>intValue.toString(radix)</code>.</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<h3 id="Einsatz_von_parseInt">Einsatz von <code>parseInt</code></h3>
+
+<p>Alle folgenden Beispiele geben <strong><code>15</code> </strong>zurück:</p>
+
+<pre class="brush: js">parseInt(" 0xF", 16);
+parseInt(" F", 16);
+parseInt("17", 8);
+parseInt(021, 8);
+parseInt("015", 10);
+parseInt(15.99, 10);
+parseInt("15,123", 10);
+parseInt("FXX123", 16);
+parseInt("1111", 2);
+parseInt("15*3", 10);
+parseInt("15e2", 10);
+parseInt("15px", 10);
+parseInt("12", 13);
+</pre>
+
+<p>Alle folgenden Beispiele geben <code><strong>NaN</strong></code> zurück:</p>
+
+<pre class="brush: js">parseInt("Hello", 8); // Not a number at all
+parseInt("546", 2); // Digits are not valid for binary representations
+</pre>
+
+<p>Alle folgenden Beispiele geben <code><strong>-15</strong></code> zurück:</p>
+
+<pre class="brush: js">parseInt("-F", 16);
+parseInt("-0F", 16);
+parseInt("-0XF", 16);
+parseInt(-15.1, 10);
+parseInt(" -17", 8);
+parseInt(" -15", 10);
+parseInt("-1111", 2);
+parseInt("-15e1", 10);
+parseInt("-12", 13);
+</pre>
+
+<p>Die folgenden Beispiele geben <code><strong>4</strong></code> zurück:</p>
+
+<pre class="brush: js">parseInt(4.7, 10);
+parseInt(4.7 * 1e22, 10); // Sehr große Zahl wird zu 4
+parseInt(0.00000000000434, 10); // Sehr kleine Zahl wird zu 4</pre>
+
+<p>Das folgende Beispiel gibt <strong><code>224</code></strong> zurück:</p>
+
+<pre class="brush: js">parseInt("0e0", 16);
+</pre>
+
+<h2 id="Oktal-Interpretationen_ohne_radix">Oktal-Interpretationen ohne radix</h2>
+
+<p>Obwohl ECMAScript 3 es nicht empfahl und ECMAScript 5 es verbietet, interpretieren viele Implementierungen einen mit <code>"0"</code> beginnende String als Oktalzahl. Das folgende Beispiel hat ein Ergebnis im Oktal- oder Dezimalsystem. <strong>Das Zahlensystem sollte immer angegeben werden, um solche Verwirrungen zu vermeiden.</strong></p>
+
+<pre class="brush: js">parseInt("0e0"); // 0
+parseInt("08"); // 0, '8' ist keine oktale Ziffer.
+</pre>
+
+<h3 id="ECMAScript_5_entfernt_oktale_Interpretation">ECMAScript 5 entfernt oktale Interpretation</h3>
+
+<p>Die ECMAScript 5 Spezifikation der <code>parseInt</code> Funktion erlaubt es nicht mehr einen mit <code>0</code> beginnenden String als Oktalzahl zu interpretieren. ECMAScript 5 Stand:</p>
+
+<p>Die <code>parseInt</code> Funktion produziert eine ganze Zahl, indem der Inhalt vom string Argument interpretiert wird, abhängig vom in radix angegebenen Zahlensystem. Führende Whitespaces werden ignoriert. Wenn radix <code>undefined</code> oder <code>0</code> ist, wird von <code>10</code> ausgegangen, außer die Zahl beginnt mit den Zeichen <code>0x</code> oder <code>0X</code>, dann wird <code>16</code> für radix angenommen.</p>
+
+<p>Das unterscheidet sich von der ECMAScript 3 Spezifikation, welche Oktalinterpretationen nicht empfiehlt, sie aber erlaubt.</p>
+
+<p>Weil viele Implementierungen dieses Verhalten seit 2013 nicht geändert haben und auch ältere Browser unterstützt werden müssen, <strong>sollte immer das radix-Argument gesetzt werden.</strong></p>
+
+<h2 id="Eine_strenge_parse-Funktion">Eine strenge parse-Funktion</h2>
+
+<p>Es ist manchmal nützliche eine strenge Funktion für die Umwandlung von ganzen Zahlen zu verwenden. Reguläre Ausdrücke können helfen:</p>
+
+<pre class="brush: js">filterInt = function (value) {
+ if(/^(\-|\+)?([0-9]+|Infinity)$/.test(value))
+ return Number(value);
+ return NaN;
+}
+
+console.log(filterInt('421')); // 421
+console.log(filterInt('-421')); // -421
+console.log(filterInt('+421')); // 421
+console.log(filterInt('Infinity')); // Infinity
+console.log(filterInt('421e+0')); // NaN
+console.log(filterInt('421hop')); // NaN
+console.log(filterInt('hop1.61803398875')); // NaN
+console.log(filterInt('1.61803398875')); // NaN
+</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Komment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES1')}}</td>
+ <td>{{Spec2('ES1')}}</td>
+ <td>Initiale Definition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.1.2.2', 'parseInt')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-parseint-string-radix', 'parseInt')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-parseint-string-radix', 'parseInt')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+
+
+<p>{{Compat("javascript.builtins.parseInt")}}</p>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li>{{jsxref("parseFloat", "parseFloat()")}}</li>
+ <li>{{jsxref("Number.parseFloat()")}}</li>
+ <li>{{jsxref("Number.parseInt()")}}</li>
+ <li>{{jsxref("isNaN", "isNaN()")}}</li>
+ <li>{{jsxref("Number.toString()")}}</li>
+ <li>{{jsxref("Object.valueOf")}}</li>
+</ul>