Number.isInteger()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´9æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Number.isInteger() éææ¹æ³å¤æä¼ å
¥å¼æ¯å¦ä¸ºæ´æ°ã
å°è¯ä¸ä¸
function fits(x, y) {
if (Number.isInteger(y / x)) {
return "Fits!";
}
return "Does NOT fit!";
}
console.log(fits(5, 10));
// Expected output: "Fits!"
console.log(fits(5, 11));
// Expected output: "Does NOT fit!"
è¯æ³
Number.isInteger(value)
åæ°
value-
è¦æµè¯æ¯å¦ä¸ºæ´æ°çå¼ã
è¿åå¼
妿ç»å®å¼æ¯æ´æ°ï¼åè¿åå¸å°å¼ trueãå¦å为 falseã
æè¿°
å¦æç®æ 弿¯ä¸ä¸ªæ´æ°ï¼è¿å trueï¼å¦åè¿å falseãå¦æè¯¥å¼æ¯ NaN æè
Infinityï¼è¿å falseã对äºå¯ä»¥è¡¨ç¤ºä¸ºæ´æ°çæµ®ç¹æ°ï¼è¯¥æ¹æ³ä¹å°è¿å trueãå¦æè¯¥å¼ä¸æ¯ä¸ä¸ªæ°åï¼è¯¥æ¹æ³å°å§ç»è¿å falseã
请注æï¼ä¸äºæ°ååé¢éçèµ·æ¥åæ¯éæ´æ°ï¼ä½å®é
ä¸å´è¡¨ç¤ºæ´æ°ãè¿æ¯ç±äº ECMAScript æµ®ç¹æ°ç¼ç ï¼IEEE-754ï¼ç精度éå¶ãä¾å¦ï¼5.0000000000000001 åªä¸ 5 ç¸å·® 1e-16ï¼è¿ä¸ªå·®å¼å¤ªå°äºèæ æ³è¡¨ç¤ºãï¼ä½ä¸ºåèï¼Number.EPSILON åå¨ 1 ä¸å¤§äº 1 çä¸ä¸ä¸ªå¯è¡¨ç¤ºçæµ®ç¹æ°ä¹é´çè·ç¦»ï¼å¤§çº¦ä¸º 2.22e-16ãï¼å æ¤ï¼5.0000000000000001 å°ä½¿ç¨ä¸ 5 ç¸åçç¼ç 表示ï¼ä»èä½¿å¾ Number.isInteger(5.0000000000000001) è¿å trueã
å¨ç±»ä¼¼çæä¹ä¸ï¼æ¥è¿ Number.MAX_SAFE_INTEGER 大å°çæ°å¼ä¼å 精度æå¤±èä½¿å¾ Number.isInteger å¨ä¼ å
¥å¼å®é
ä¸ä¸æ¯æ´æ°çæ
åµä¸è¿å trueãï¼å®é
é弿 ¹æ®éè¦è¡¨ç¤ºå°æ°æéç使°èååââä¾å¦ï¼Number.isInteger(4500000000000000.1) 为 trueï¼ä½ Number.isInteger(4500000000000000.5) 为 falseãï¼
示ä¾
>ä½¿ç¨ isInteger
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger("10"); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
Number.isInteger(5.0); // true
Number.isInteger(5.000000000000001); // false
Number.isInteger(5.0000000000000001); // trueï¼å 为精度æå¤±
Number.isInteger(4500000000000000.1); // trueï¼å 为精度æå¤±
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.isinteger> |