aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/global_objects/parsefloat/index.html
blob: 72dddf6c5bd0afa9ecf0b7f1d1b7a639f67824d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
---
title: parseFloat()
slug: Web/JavaScript/Reference/Global_Objects/parseFloat
tags:
  - JavaScript
translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat
---
<div>
<div>
<div>{{jsSidebar("Objects")}}</div>
</div>
</div>

<p>Die <code><strong>parseFloat()</strong></code>-Funktion parst ein Zeichenketten-Argument und gibt eine Fließkommazahl zurück.</p>

<div>{r{EmbedInteractiveExample("pages/js/globalprops-parsefloat.html")}}</div>

<p class="hidden">Die Quelle für dieses Beispiel ist in einem GitHub-Repository abgelegt. Wenn Sie etwas zu dem Interactive Examples Project beitragen möchten, klonen Sie bitte <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> und senden uns einen Pull-Request.</p>

<h2 id="Syntax">Syntax</h2>

<pre class="syntaxbox">parseFloat(<em>value</em>)</pre>

<h3 id="Parameter">Parameter</h3>

<dl>
 <dt><code>value</code></dt>
 <dd>Der Wert, den man parsen möchte.</dd>
</dl>

<h3 id="Rückgabewert">Rückgabewert</h3>

<p>Eine Fließkommazahl, die vom übergebenen Wert geparst wurde. Wenn der Wert nicht zu einer Zahl konvertiert werden kann, wird {{jsxref("NaN")}} zurückgegeben.</p>

<h2 id="Beschreibung">Beschreibung</h2>

<p><code>parseFloat</code> ist eine Top-Level-Funktion und mit keinen Objekt assoziiert.</p>

<p><code>parseFloat</code> übersetzt ihr Argument in eine Fließkommazahl. Trifft sie dabei auf ein anderes Zeichen als ein Vorzeichen (+ oder -), einen numerischen Werten (0-9), einen Dezimalpunkt, oder einen Exponenten, so gibt es den Wert zurück bis zu diesem Punkt und ignoriert dieses Zeichen, sowie alle nachfolgenden. Anführende und abschließende Leerzeichen sind erlaubt.</p>

<p>Wenn der Wert eine Zeichenkette ist und die ersten Zeichen nicht in eine Zahl konvertiert werden können, gibt <code>parseFloat</code> den Wert {{jsxref("NaN")}} zurück.</p>

<p>Für arithmetische Zwecke ist <code>NaN</code> keine Zahl für jede Basis eines Zahlensystems. Man kann die {{jsxref("isNaN")}}-Funktion aufrufen um festzustellen, ob <code>NaN</code> das Ergebnis von <code>parseFloat</code> ist. Wenn <code>NaN</code> Operand einer arithmetischen Operation ist, dann ist das Ergebnis ebenfalls <code>NaN</code>.</p>

<p><code>parseFloat</code> kann ebenfalls den Wert <code>Infinity</code> parsen und zurückgeben. Man kann die {{jsxref("isFinite")}}-Funktion benutzen um festzustellen, ob das Ergebnis eine endliche Zahl ist (nicht <code>Infinity</code>,  <code>-Infinity</code>, oder <code>NaN</code>).</p>

<p><code>parseFloat</code> kann zudem Objekte parsen, wenn diese eine <code>toString</code>- oder <code>valueOf</code>-Methode haben. Das Ergebnis ist dasselbe, als wenn <code>parseFloat</code> mit dem Ergebnis einer dieser beiden Methoden ausgerufen wurde.</p>

<h2 id="Beispiele">Beispiele</h2>

<h3 id="parseFloat_Rückgabe_einer_Zahl"><code>parseFloat</code> Rückgabe einer Zahl</h3>

<p>Die folgenden Beispiele geben alle <strong>3.14 </strong>zurück</p>

<pre class="brush:js">parseFloat(3.14);
parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14mehr nicht-Ziffer-Zeichen");

var foo = Object.create(null);
foo.toString = function () { return "3.14"; };
parseFloat(foo);

var foo = Object.create(null);
foo.valueOf = function () { return "3.14"; };
parseFloat(foo);
</pre>

<h3 id="parseFloat_Rückgabe_von_NaN"><code>parseFloat</code> Rückgabe von <code>NaN</code></h3>

<p>Das folgende Beispiel gibt <code>NaN</code> zurück</p>

<pre class="brush: js">parseFloat("FF2");
</pre>

<h3 id="Eine_striktere_parse-Funktion">Eine striktere parse-Funktion</h3>

<p>Unter bestimmten Umständen ist es hilfreich, einen strikteren Weg zu haben, um Fließkomma-Werte zu parsen. Reguläre Ausdrücke können hierbei helfen:</p>

<pre class="brush: js">var filterFloat = function (value) {
    if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
      .test(value))
      return Number(value);
  return NaN;
}

console.log(filterFloat('421'));               // 421
console.log(filterFloat('-421'));              // -421
console.log(filterFloat('+421'));              // 421
console.log(filterFloat('Infinity'));          // Infinity
console.log(filterFloat('1.61803398875'));     // 1.61803398875
console.log(filterFloat('421e+0'));            // NaN
console.log(filterFloat('421hop'));            // NaN
console.log(filterFloat('hop1.61803398875'));  // NaN

</pre>

<p>Hinweis: Dies ist lediglich ein Beispiel, es akzeptiert keine zulässigen Zahlen wie <code>1.</code> oder <code>.5</code>.</p>

<h2 id="Spezifikationen">Spezifikationen</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Spezifikation</th>
   <th scope="col">Status</th>
   <th scope="col">Kommentar</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.3', 'parseFloat')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-parsefloat-string', 'parseFloat')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-parsefloat-string', 'parseFloat')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Browserkompatiblität">Browserkompatiblität</h2>

<div class="hidden">Die Kompatibilitätstabelle auf dieser Seite wird aus strukturierten Daten erzeugt. Falls Sie zu diesen Daten etwas beitragen möchten, öffen Sie bitte <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> und senden uns einen Pull-Request.</div>

<p>{{Compat("javascript.builtins.parseFloat")}}</p>

<h2 id="See_Also" name="See_Also">Siehe auch</h2>

<ul>
 <li>{{jsxref("Global_Objects/parseInt", "parseInt()")}}</li>
 <li>{{jsxref("Number.parseFloat()")}}</li>
 <li>{{jsxref("Number.parseInt()")}}</li>
 <li>{{jsxref("Number.toFixed()")}}</li>
 <li>{{jsxref("Global_Objects/isNaN", "isNaN()")}}</li>
</ul>