Baseline Widely available
СÑаÑиÑеÑкий меÑод Number.isSafeInteger()
опÑеделÑеÑ, ÑвлÑеÑÑÑ Ð»Ð¸ пеÑеданное знаÑение безопаÑнÑм ÑелÑм ÑиÑлом.
function warn(x) {
if (Number.isSafeInteger(x)) {
return "Precision safe.";
}
return "Precision may be lost!";
}
console.log(warn(Math.pow(2, 53)));
// Expected output: "Precision may be lost!"
console.log(warn(Math.pow(2, 53) - 1));
// Expected output: "Precision safe."
СинÑакÑиÑ
Number.isSafeInteger(testValue)
ÐаÑамеÑÑÑ
testValue
ÐÑовеÑÑемое знаÑение.
ÐогиÑеÑкое знаÑение true
еÑли пеÑеданное знаÑение ÑвлÑеÑÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑм ÑелÑм ÑиÑлом, в пÑоÑивном ÑлÑÑае false
.
РбезопаÑнÑм ÑелÑм ÑиÑлам оÑноÑÑÑÑÑ Ð²Ñе ÑелÑе ÑиÑла Ð¾Ñ -(253 â 1) до 253 â 1 вклÑÑиÑелÑно (±9 007 199 254 740 991). ÐезопаÑное Ñелое ÑиÑло â ÑÑо Ñелое ÑиÑло, коÑоÑое:
ÐапÑимеÑ, 253 - 1 ÑвлÑеÑÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑм ÑелÑм ÑиÑлом: оно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑоÑно пÑедÑÑавлено, и никакое дÑÑгое Ñелое ÑиÑло не окÑÑглÑеÑÑÑ Ð´Ð¾ него ни пÑи каком Ñежиме окÑÑÐ³Ð»ÐµÐ½Ð¸Ñ IEEE-754. Ð Ð²Ð¾Ñ 253 не ÑвлÑеÑÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑм ÑелÑм ÑиÑлом: оно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑоÑно пÑедÑÑавлено в IEEE-754, но Ñелое ÑиÑло 253 + 1 не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑедÑÑавлено в IEEE-754, а вмеÑÑо ÑÑого окÑÑглÑеÑÑÑ Ð´Ð¾ 253 пÑи окÑÑглении до ближайÑего и до нÑлÑ.
ÐбÑабоÑка знаÑений болÑÑе или менÑÑе ~9 квадÑиллионов Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ ÑоÑноÑÑÑÑ ÑÑебÑÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек, поддеÑживаÑÑÐ¸Ñ Ð°ÑиÑмеÑÐ¸ÐºÑ Ð¿ÑоизволÑной ÑоÑноÑÑи. ÐополниÑелÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ пÑедÑÑавлениÑÑ ÑиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой ÑмоÑÑиÑе в The Floating-Point Guide (англ.).
ÐÐ»Ñ Ð±Ð¾ÌлÑÑиÑ
ÑелÑÑ
ÑиÑел ÑаÑÑмоÑÑиÑе возможноÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñипа BigInt
.
Number.isSafeInteger(3); // true
Number.isSafeInteger(2 ** 53); // false
Number.isSafeInteger(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
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4