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
|
---
title: Math.floor()
slug: Web/JavaScript/Reference/Global_Objects/Math/floor
tags:
- JavaScript
- Math
- Method
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/Math/floor
---
<div>{{JSRef}}</div>
<p>Die <strong><code>Math.floor()</code></strong> Funktion gibt den größten Integer zurück, der kleiner oder gleich der gegeben Nummer ist. (Abrunden) </p>
<div>{{EmbedInteractiveExample("pages/js/math-floor.html")}}</div>
<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div>
<h2 id="Syntax">Syntax</h2>
<pre class="syntaxbox">Math.floor(<var>x</var>)</pre>
<h3 id="Parameter">Parameter</h3>
<dl>
<dt><code>x</code></dt>
<dd>Eine Zahl.</dd>
</dl>
<h3 id="Rückgabewert">Rückgabewert</h3>
<p>Eine größte ganze Zahl, die kleiner oder gleich der übergebenen Zahl ist.</p>
<h2 id="Beschreibung">Beschreibung</h2>
<p>Weil <code>floor()</code> eine statische Methode von <code>Math</code> ist, wird sie immer als<code> Math.floor() </code>aufgerufen und nicht als eine Methode eines erstellten <code>Math</code> Objektes (<code>Math </code>ist kein Konstruktor).</p>
<div class="blockIndicator note">
<p><strong>Hinweis: </strong><code>Math.floor(null)</code> gibt 0, aber nicht {{jsxref("NaN")}}, zurück.</p>
</div>
<h2 id="Beispiele">Beispiele</h2>
<h3 id="Einsatz_von_Math.floor">Einsatz von <code>Math.floor()</code></h3>
<pre class="brush: js">Math.floor(45.95); // 45
Math.floor(45.05); // 45
Math.floor(4); // 4
Math.floor(-45.05); // -46
Math.floor(-45.95); // -46
</pre>
<h3 id="Dezimale_Justierung">Dezimale Justierung</h3>
<pre class="brush: js">/**
* Decimal adjustment of a number.
*
* @param {String} type The type of adjustment.
* @param {Number} value The number.
* @param {Integer} exp The exponent (the 10 logarithm of the adjustment base).
* @returns {Number} The adjusted value.
*/
function decimalAdjust(type, value, exp) {
// If the exp is undefined or zero...
if (typeof exp === 'undefined' || +exp === 0) {
return Math[type](value);
}
value = +value;
exp = +exp;
// If the value is not a number or the exp is not an integer...
if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
return NaN;
}
// Shift
value = value.toString().split('e');
value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
// Shift back
value = value.toString().split('e');
return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
}
// Decimal round
const round10 = (value, exp) => decimalAdjust('round', value, exp);
// Decimal floor
const floor10 = (value, exp) => decimalAdjust('floor', value, exp);
// Decimal ceil
const ceil10 = (value, exp) => decimalAdjust('ceil', value, exp);
// Round
round10(55.55, -1); // 55.6
round10(55.549, -1); // 55.5
round10(55, 1); // 60
round10(54.9, 1); // 50
round10(-55.55, -1); // -55.5
round10(-55.551, -1); // -55.6
round10(-55, 1); // -50
round10(-55.1, 1); // -60
// Floor
floor10(55.59, -1); // 55.5
floor10(59, 1); // 50
floor10(-55.51, -1); // -55.6
floor10(-51, 1); // -60
// Ceil
ceil10(55.51, -1); // 55.6
ceil10(51, 1); // 60
ceil10(-55.59, -1); // -55.5
ceil10(-59, 1); // -50
</pre>
<h2 id="Spezifikationen">Spezifikationen</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spezifikation</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-math.floor', 'Math.floor')}}</td>
</tr>
</tbody>
</table>
<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
<p>{{Compat("javascript.builtins.Math.floor")}}</p>
<h2 id="Siehe_auch">Siehe auch</h2>
<ul>
<li>{{jsxref("Math.abs()")}}</li>
<li>{{jsxref("Math.ceil()")}}</li>
<li>{{jsxref("Math.round()")}}</li>
<li>{{jsxref("Math.sign()")}}</li>
<li>{{jsxref("Math.trunc()")}}</li>
</ul>
|