blob: 118bac310f02166bf96c4582409157e66767ba59 (
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
|
---
title: Math.trunc()
slug: Web/JavaScript/Reference/Global_Objects/Math/trunc
tags:
- ECMAScript 2015
- JavaScript
- Math
- Method
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/Math/trunc
---
<div>{{JSRef}}</div>
<p><strong><code>Math.trunc()</code></strong> 関数は、引数として与えた数の小数部の桁を取り除くことによって整数部を返します。</p>
<div>{{EmbedInteractiveExample("pages/js/math-trunc.html")}}</div>
<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="syntaxbox notranslate">Math.trunc(<var>x</var>)
</pre>
<h3 id="Parameters" name="Parameters">引数</h3>
<dl>
<dt><code><var>x</var></code></dt>
<dd>数値。</dd>
</dl>
<h3 id="Return_value" name="Return_value">返値</h3>
<p>The integer part of the given number.</p>
<h2 id="Description" name="Description">解説</h2>
<p>他の3 つの <code>Math</code> メソッド、 {{jsxref("Math.floor()")}}、 {{jsxref("Math.ceil()")}}、 {{jsxref("Math.round()")}} とは異なり、 <code>Math.trunc()</code> の動作は非常にシンプルで分かりやすいです。引数が正の数または負の数であるかに関わらず、ただ小数点とそれ以降にある数字を<em>切り捨て</em>ます。</p>
<p>このメソッドに渡された引数は暗黙のうちに数値型に変換されることに注意して下さい。</p>
<p><code>trunc()</code> は <code>Math</code> オブジェクトの静的なメソッドなので、自ら生成した <code>Math</code> オブジェクトのメソッドとしてではなく、常に、<code>Math.trunc()</code> として使用してください (<code>Math</code> オブジェクトにはコンストラクタがありません)。</p>
<h2 id="Polyfill" name="Polyfill">ポリフィル</h2>
<pre class="brush: js notranslate">if (!Math.trunc) {
Math.trunc = function(v) {
v = +v;
if (!isFinite(v)) return v;
return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
// returns:
// 0 -> 0
// -0 -> -0
// 0.2 -> 0
// -0.2 -> -0
// 0.7 -> 0
// -0.7 -> -0
// Infinity -> Infinity
// -Infinity -> -Infinity
// NaN -> NaN
// null -> 0
};
}
</pre>
<p>または</p>
<pre class="brush: js notranslate">if (!Math.trunc) {
Math.trunc = function (v) {
return v < 0 ? Math.ceil(v) : Math.floor(v);
};
}
</pre>
<h2 id="Examples" name="Examples">例</h2>
<h3 id="Using_Math.trunc" name="Using_Math.trunc">Math.trunc() の使用</h3>
<pre class="brush: js notranslate">Math.trunc(13.37); // 13
Math.trunc(42.84); // 42
Math.trunc(0.123); // 0
Math.trunc(-0.123); // -0
Math.trunc('-1.123'); // -1
Math.trunc(NaN); // NaN
Math.trunc('foo'); // NaN
Math.trunc(); // NaN
</pre>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('ESDraft', '#sec-math.trunc', 'Math.trunc')}}</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<p>{{Compat("javascript.builtins.Math.trunc")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{jsxref("Math.abs()")}}</li>
<li>{{jsxref("Math.ceil()")}}</li>
<li>{{jsxref("Math.floor()")}}</li>
<li>{{jsxref("Math.round()")}}</li>
<li>{{jsxref("Math.sign()")}}</li>
</ul>
|