parseFloat
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
parseFloat() 彿°è§£æä¸ä¸ªåæ°ï¼å¿
è¦æ¶å
转æ¢ä¸ºå符串ï¼å¹¶è¿åä¸ä¸ªæµ®ç¹æ°ã
å°è¯ä¸ä¸
function circumference(r) {
return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference(4.567));
// Expected output: 28.695307297889173
console.log(circumference("4.567abcdefgh"));
// Expected output: 28.695307297889173
console.log(circumference("abcdefgh"));
// Expected output: NaN
è¯æ³
parseFloat(string)
åæ°
string-
éè¦è¢«è§£ææä¸ºæµ®ç¹æ°çå¼ã
è¿åå¼
ç»å®å¼è¢«è§£æææµ®ç¹æ°ã妿ç»å®å¼ä¸è½è¢«è½¬æ¢ææ°å¼ï¼åä¼è¿å NaNã
æè¿°
parseFloat æ¯ä¸ªå
¨å±å½æ°ï¼ä¸å±äºä»»ä½å¯¹è±¡ã
- 妿
parseFloatå¨è§£æè¿ç¨ä¸éå°äºæ£å·ï¼+ï¼ãè´å·ï¼-U+002D HYPHEN-MINUSï¼ãæ°åï¼0-9ï¼ãå°æ°ç¹ï¼.ï¼ãæè ç§å¦è®°æ°æ³ä¸çææ°ï¼e æ Eï¼ä»¥å¤çå符ï¼åå®ä¼å¿½ç¥è¯¥å符以åä¹åçææå符ï¼è¿åå½åå·²ç»è§£æå°çæµ®ç¹æ°ã - 第äºä¸ªå°æ°ç¹çåºç°ä¹ä¼ä½¿è§£æåæ¢ï¼å¨è¿ä¹åçå符é½ä¼è¢«è§£æï¼ã
- åæ°é¦ä½åæ«ä½ç空ç½ç¬¦ä¼è¢«å¿½ç¥ã
- 妿忰å符串ç第ä¸ä¸ªå符ä¸è½è¢«è§£ææä¸ºæ°åï¼å
parseFloatè¿åNaNã parseFloatä¹å¯ä»¥è§£æå¹¶è¿åInfinityãparseFloatè§£æBigInt为Numbers, 丢失精度ãå 为æ«ä½nå符被丢å¼ã
èèä½¿ç¨ Number(value) è¿è¡æ´ä¸¥è°¨çè§£æï¼åªè¦åæ°å¸¦ææ æå符就ä¼è¢«è½¬æ¢ä¸º NaN ã
parseFloat ä¹å¯ä»¥è½¬æ¢ä¸ä¸ªå·²ç»å®ä¹äº toString æè
valueOf æ¹æ³ç对象ï¼å®è¿åçå¼åå¨è°ç¨è¯¥æ¹æ³çç»æä¸è°ç¨ parseFloat å¼ç¸åã
示ä¾
>示ä¾ï¼parseFloatè¿åæ£å¸¸æ°å
ä¸é¢çä¾åé½è¿å 3.14
parseFloat(3.14);
parseFloat("3.14");
parseFloat(" 3.14 ");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14some non-digit characters");
parseFloat({
toString: function () {
return "3.14";
},
});
parseFloat è¿å NaN
ä¸é¢çä¾åå°è¿åNaN
parseFloat("FF2");
parseFloat å BigInt
以ä¸ä¾ååè¿å 900719925474099300ï¼å½æ´æ°å¤ªå¤§ä»¥è³äºä¸è½è¢«è½¬æ¢æ¶å°å¤±å»ç²¾åº¦ã
parseFloat(900719925474099267n);
parseFloat("900719925474099267n");
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-parsefloat-string> |