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
|
---
title: Number.isSafeInteger()
slug: Web/JavaScript/Reference/Global_Objects/Число/isSafeInteger
tags:
- ECMAScript 2015
- JavaScript
- Number
- метод
translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger
---
<div>{{JSRef}}</div>
<p>Метод <strong><code>Number.isSafeInteger()</code></strong> визначає, чи є надане значення безпечним цілим числом.</p>
<div>{{EmbedInteractiveExample("pages/js/number-issafeinteger.html")}}</div>
<p>Безпечним цілим числом вважається ціле число, яке</p>
<ul>
<li>може бути точно відображене як число IEEE-754 подвійної точності, і</li>
<li>чиє відображення IEEE-754 не може бути результатом округлення іншого цілого числа для відповідності відображенню IEEE-754.</li>
</ul>
<p>Наприклад, <code>2<sup>53</sup> - 1</code> є безпечним цілим числом: воно може бути точно відображене, і жодне інше ціле число не округлюється до нього в будь-якому режимі округлення IEEE-754. Для контрасту, <code>2<sup>53</sup></code> <em>не є</em> безпечним цілим числом: воно може бути точно відображене у IEEE-754, але ціле число <code>2<sup>53</sup> + 1</code> не може бути безпосередньо відображене у IEEE-754, а, натомість, округлюється до <code>2<sup>53</sup></code> під час округлення до найближчого цілого та округлення до меншого за модулем. Безпечні цілі числа включають усі цілі числа від <code>-(2<sup>53</sup> - 1)</code> включно до <code>2<sup>53</sup> - 1</code> включно (± <code>9007199254740991</code> або ± 9,007,199,254,740,991). </p>
<p>Робота зі значеннями, більшими чи меншими за ~9 квадрільйонів, з повною точністю вимагає використання <a href="https://uk.wikipedia.org/wiki/%D0%94%D0%BE%D0%B2%D0%B3%D0%B0_%D0%B0%D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D0%BA%D0%B0">бібліотеки для арифметики довільної точності</a>. Дивіться <a href="http://floating-point-gui.de/">Що необхідно знати кожному програмісту про арифметику чисел з рухомою крапкою</a>, щоб дізнатись більше щодо відображення чисел з рухомою крапкою.</p>
<p>Для більших чисел розгляньте використання типу {{jsxref("BigInt")}}.</p>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox notranslate"><code>Number.isSafeInteger(<var>testValue</var>)</code>
</pre>
<h3 id="Параметри">Параметри</h3>
<dl>
<dt><code>testValue</code></dt>
<dd>Значення, що перевірятиметься на відповідність безпечному цілому числу.</dd>
</dl>
<h3 id="Значення_що_повертається">Значення, що повертається</h3>
<p>Значення {{jsxref("Boolean")}}, яке вказує, чи є надане значення безпечним цілим числом.</p>
<h2 id="Поліфіл">Поліфіл</h2>
<pre class="brush: js notranslate">Number.isSafeInteger = Number.isSafeInteger || function (value) {
return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
};
</pre>
<h2 id="Приклади">Приклади</h2>
<h3 id="Використання_isSafeInteger">Використання isSafeInteger</h3>
<pre class="brush: js notranslate">Number.isSafeInteger(3); // true
Number.isSafeInteger(Math.pow(2, 53)); // false
Number.isSafeInteger(Math.pow(2, 53) - 1); // true
Number.isSafeInteger(NaN); // false
Number.isSafeInteger(Infinity); // false
Number.isSafeInteger('3'); // false
Number.isSafeInteger(3.1); // false
Number.isSafeInteger(3.0); // true
</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Специфікація</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}}</td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("javascript.builtins.Number.isSafeInteger")}}</p>
<h2 id="Див._також">Див. також</h2>
<ul>
<li>Об'єкт {{jsxref("Число", "Number")}}, якому належить цей метод.</li>
<li>{{jsxref("Number.MIN_SAFE_INTEGER")}}</li>
<li>{{jsxref("Number.MAX_SAFE_INTEGER")}}</li>
<li>{{jsxref("BigInt")}}</li>
</ul>
|