Baseline Widely available
æ¦è¿°Math.fround()
å¯ä»¥å°ä»»æçæ°å转æ¢ä¸ºç¦»å®æè¿çåç²¾åº¦æµ®ç¹æ°å½¢å¼çæ°åã
doubleFloat
ä¸ä¸ª Number
ãè¥åæ°ä¸ºéæ°åç±»åï¼åä¼è¢«è½¬æææ°åãæ æ³è½¬æ¢æ¶ï¼è®¾ç½®æNaN
ã
æå®æ°åææ¥è¿ç 32 ä½åç²¾åº¦æµ®ç¹æ°è¡¨ç¤ºã
æè¿°JavaScript å
é¨ä½¿ç¨ 64 ä½çåæµ®ç¹æ°åï¼æ¯æå¾é«ç精度ã使¯ï¼ææ¶ä½ éè¦ç¨ 32 使µ®ç¹æ°åï¼æ¯å¦ä½ ä»ä¸ä¸ªFloat32Array
读å弿¶ãè¿æ¶ä¼äº§çæ··ä¹±ï¼æ£æ¥ä¸ä¸ª 64 使µ®ç¹æ°åä¸ä¸ª 32 使µ®ç¹æ°æ¯å¦ç¸çä¼å¤±è´¥ï¼å³ä½¿äºä¸ªæ°åå ä¹ä¸æ¨¡ä¸æ ·ã
è¦è§£å³è¿ä¸ªé®é¢ï¼å¯ä»¥ä½¿ç¨ Math.fround()
æ¥å° 64 ä½çæµ®ç¹æ°è½¬æ¢ä¸º 32 使µ®ç¹æ°ãå¨å
é¨ï¼JavaScript ç»§ç»æè¿ä¸ªæ°åä½ä¸º 64 使µ®ç¹æ°çå¾
ï¼ä»
ä»
æ¯å¨å°¾æ°é¨åç第 23 使§è¡äºâèå
¥å°å¶æ°âçæä½ï¼å¹¶å°åç»çå°¾æ°ä½è®¾ç½®ä¸º 0ã妿æ°åè¶
åº 32 使µ®ç¹æ°çèå´ï¼åè¿å Infinity
æ -Infinity
ã
å 为fround()
æ¯Math
çéææ¹æ³ï¼ä½ å¿
é¡»éè¿ Math.fround()
æ¥ä½¿ç¨ï¼è䏿¯è°ç¨ä½ å建çMath
对象çä¸ä¸ªå®ä¾æ¹æ³ï¼Math
䏿¯ä¸ä¸ªæé 彿°ï¼ã
æ°å 1.5 å¯ä»¥å¨äºè¿å¶æ°åç³»ç»ä¸ç²¾ç¡®è¡¨ç¤ºï¼32 ä½å 64 ä½çå¼ç¸åï¼
Math.fround(1.5); // 1.5
Math.fround(1.5) === 1.5; // true
使¯ï¼æ°å 1.337 å´æ æ³å¨äºè¿å¶æ°åç³»ç»ä¸ç²¾ç¡®è¡¨ç¤ºï¼æä»¥ 32 ä½å 64 ä½ç弿¯ä¸åçï¼
Math.fround(1.337); // 1.3370000123977661
Math.fround(1.337) === 1.337; // false
2^150 è¶
åº 32 使µ®ç¹ï¼æä»¥è¿åInfinity
ï¼
2 ** 150; // 1.42724769270596e+45
Math.fround(2 ** 150); // Infinity
å¦æåæ°æ æ³è½¬æ¢ææ°åï¼æè
为 NaN
ï¼NaN
ï¼ï¼Math.fround()
ä¼è¿å NaN
ï¼
Math.fround("abc"); // NaN
Math.fround(NaN); // NaN
卿äºç²¾åº¦ä¸é«çåºåä¸ï¼å¯ä»¥éè¿å°äºä¸ªæµ®ç¹æ°è½¬æ¢æ 32 使µ®ç¹æ°è¿è¡æ¯è¾ï¼ä»¥è§£å³ 64 使µ®ç¹æ°æ¯è¾ç»æä¸æ£ç¡®çé®é¢ï¼
0.1 + 0.2 == 0.3; //false
function equal(v1, v2) {
return Math.fround(v1) == Math.fround(v2);
}
equal(0.1 + 0.2, 0.3); //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