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 åå ãã大ããå¤ãå°ããå¤ãæ±ãã«ã¯ãä»»æç²¾åº¦æ¼ç®ã©ã¤ãã©ãªã¼ã使ç¨ããå¿ è¦ãããã¾ããæ°å¤ã®æµ®åå°æ°ç¹è¡¨ç¾ã®è©³ç´°ã«ã¤ãã¦ã¯ã What Every Programmer Needs to Know about Floating Point Arithmetic ãåç §ãã¦ãã ãããs
å·¨å¤§ãªæ´æ°å¤ã«ã¤ãã¦ã¯ã 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