Math.trunc()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
Math.trunc() 颿°ã¯ã弿°ã¨ãã¦ä¸ããæ°ã®å°æ°é¨ã®æ¡ãåãé¤ããã¨ã«ãã£ã¦æ´æ°é¨ãè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
console.log(Math.trunc(13.37));
// äºæ³ãããçµæ: 13
console.log(Math.trunc(42.84));
// äºæ³ãããçµæ: 42
console.log(Math.trunc(0.123));
// äºæ³ãããçµæ: 0
console.log(Math.trunc(-0.123));
// äºæ³ãããçµæ: -0
æ§æ
Math.trunc(x)
弿°
x-
æ°å¤ã
è¿å¤
x ã®æ´æ°é¨ã§ãã
解説
Math.trunc() ã®å¦çã¯ãä»ã® 3 ã¤ã® Math ã¡ã½ãããMath.floor()ãMath.ceil()ãMath.round() ãããç´æçã§ãã弿°ãæ£ã®æ°ãè² ã®æ°ãã«é¢ããããå°æ°ç¹ã¨ãã®å³å´ã®æ¡ãåãè©°ãï¼åãæ¨ã¦ï¼ã¾ãã
trunc() 㯠Math ãªãã¸ã§ã¯ãã®éçãªã¡ã½ãããªã®ã§ãèªãçæãã Math ãªãã¸ã§ã¯ãã®ã¡ã½ããã¨ãã¦ã§ã¯ãªãã常ã«ãMath.trunc() ã¨ãã¦ä½¿ç¨ãã¦ãã ãã (Math ãªãã¸ã§ã¯ãã«ã¯ã³ã³ã¹ãã©ã¯ã¿ãããã¾ãã)ã
ä¾
>Math.trunc() ã®ä½¿ç¨
Math.trunc(-Infinity); // -Infinity
Math.trunc("-1.123"); // -1
Math.trunc(-0.123); // -0
Math.trunc(-0); // -0
Math.trunc(0); // 0
Math.trunc(0.123); // 0
Math.trunc(13.37); // 13
Math.trunc(42.84); // 42
Math.trunc(Infinity); // Infinity
ãããåä½ã® no-op ã使ã£ãæ°å¤ã®åãæ¨ã¦
è¦å:
ç¡è¦ã§ããªãã¨ãã¸ã±ã¼ã¹ãããããããã㯠Math.trunc() ã®ããªãã£ã«ã«ã¯ãªãã¾ããã
ãããæ¼ç®ã¯ãªãã©ã³ãã32ãããæ´æ°ã«å¤æããããã徿¥ã¯æµ®åå°æ°ç¹æ°ãåãæ¨ã¦ãããã«å©ç¨ããã¦ãã¾ãããä¸è¬çãªãã¯ããã¯ã¯ä»¥ä¸ã®éãã§ãã
const original = 3.14;
const truncated1 = ~~original; // äºéå¦å®
const truncated2 = original & -1; // Bitwise AND with -1
const truncated3 = original | 0; // Bitwise OR with 0
const truncated4 = original ^ 0; // Bitwise XOR with 0
const truncated5 = original >> 0; // Bitwise shifting by 0
ããã¯æ¬è³ªçã« toInt32 ã§ããã Math.trunc ã¨ã¯ç°ãªããã¨ã«æ³¨æãã¦ãã ãããå¤ã -231 - 1 < value < 231 (-2147483649 < value < 2147483648) ãæºãããªãå ´åã夿ããªã¼ãã¼ããã¼ãã¦ãã¾ãã¾ãã
const a = ~~2147483648; // -2147483648
const b = ~~-2147483649; // 2147483647
const c = ~~4294967296; // 0
Math.trunc() ã®ä»£ç¨ã¨ã㦠~~ ã使ãã®ã¯ãå
¥åã®ç¯å²ã 32 ãããæ´æ°ã®ç¯å²ã«åã¾ã£ã¦ããã¨ç¢ºä¿¡ã§ããå ´åã ãã«ãã¦ãã ããã
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.trunc> |