parseFloat()
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æ.
parseFloat() 颿°ã¯ãæååã®å¼æ°ãè§£éããæµ®åå°æ°ç¹å¤ãè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
function circumference(r) {
return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference(4.567));
// äºæ³ãããçµæ: 28.695307297889173
console.log(circumference("4.567abcdefgh"));
// äºæ³ãããçµæ: 28.695307297889173
console.log(circumference("abcdefgh"));
// äºæ³ãããçµæ: NaN
æ§æ
parseFloat(string)
弿°
string-
è§£éããå¤ããã®å¼æ°ãæååã§ãªãå ´åãæ½è±¡æä½
ToStringãç¨ãã¦æååã«å¤æããã¾ãããã®å¼æ°ã§ã¯å é ã®ãã¯ã¤ãã¹ãã¼ã¹ã¯ç¡è¦ããã¾ãã
è¿å¤
æå®ããã string ãè§£éããæµ®åå°æ°ç¹å¤ã§ããã¾ãã¯ãæåã®ãã¯ã¤ãã¹ãã¼ã¹ä»¥å¤ã®æåãæ°å¤ã«å¤æã§ããªãã£ãå ´å㯠NaN ã§ãã
ã¡ã¢:
JavaScript ã¯ãè¨èªã¬ãã«ã§ã¯ãæµ®åå°æ°ç¹æ°ãã¨ãæ´æ°ãã®åºå¥ã¯ããã¾ãããparseInt() 㨠parseFloat() ã®éãã¯ãæ§æè§£æã®æåã ãã§ãããè¿å¤ã¯ãã®åã«ãªãã¨ã¯éãã¾ãããä¾ãã°ãparseInt("42") 㨠parseFloat("42") ã¯åãå¤ãã¤ã¾ãæ°å¤ã® 42 ãè¿ãã¾ãã
解説
parseFloat 颿°ã¯ãæåã®å¼æ°ãæååã«å¤æãããã®æååã 10 鲿°ã®ãªãã©ã«ã¨ãã¦æ§æè§£æããæ°å¤ã¾ã㯠NaN ãè¿ãã¾ãããã®é¢æ°ãåãå
¥ããæ°å¤ã®æ§æã¯ã次ã®ããã«è¦ç´ã§ãã¾ãã
parseFloatãæ£ã®ç¬¦å· (+)ãè² ã®ç¬¦å· (-U+002D HYPHEN-MINUS)ãæ°å¤ (0â9)ãå°æ°ç¹ (.)ãææ°è¨å· (eã¾ãã¯E) 以å¤ã®æåã«ééãããããã®æåã®åã¾ã§ã®å¤ãè¿ããç¡å¹ãªæåã¨ãã以éã®æåãç¡è¦ãã¾ãã+/-è¨å·ã¯ãæååã®å é ãã¾ãã¯e/Eæåã®ç´å¾ã«ã®ã¿ç¾ãã¾ããå°æ°ç¹ã¯ 1 åã ããe/Eæåã®åã«ã®ã¿ç¾ãã¾ããe/Eæå㯠1 åã ãããã®åã«å°ãªãã¨ã 1 æ¡ã®æ°åãããå ´åã«ã®ã¿ç¾ãã¾ãã- 弿°ã®å é ã«ãã空ç½ã¯åãæ¨ã¦ãããç¡è¦ããã¾ãã
parseFloat()ã¯ãæååã 0 å以ä¸ã®ç©ºç½æåã§å§ã¾ãããã®å¾ã«"Infinity"ã¾ãã¯"-Infinity"ãç¶ãå ´åããã®æååãæ§æè§£æãã¦Infinityã¾ãã¯-Infinityãè¿ãã¾ããparseFloat()ã¯ãæå¹ãªæ°å¤ãªãã©ã«ãçæãããå é ããæãé·ãé¨åæååã鏿ãã¾ããç¡å¹ãªæåã«ééããå ´åã¯ããã®ç¹ã¾ã§è¡¨ãæ°å¤ãè¿ããç¡å¹ãªæåã¨ãã®å¾ã®æåããã¹ã¦ç¡è¦ãã¾ãã- 弿°ã®æåã®æåããä¸è¨ã®æ§æã«å¾ã£ã¦æå¹ãªæ°å¤ãªãã©ã«ãéå§ã§ããªãå ´åã
parseFloatã¯NaNãè¿ãã¾ãã
æ§æã«é¢ãã¦ã¯ãparseFloat() 㯠Number() 颿°ãåãå
¥ããæ§æã®ãµãã»ãããæ§æè§£æãã¾ãã parseFloat() ã¯ã0xã0bã0o ãæ¥é è¾ã¨ããé 10 é²ãªãã©ã«ã¯å¯¾å¿ãã¦ãã¾ãããããã以å¤ã¯ãã¹ã¦å¯¾å¿ãã¦ãã¾ãããã ããparseFloat() ã¯ãNumber() ãããå¯å®¹ã§ããããã¯ãNumber() ã§ã¯ NaN ãè¿ãåå ã¨ãªããæ«å°¾ã®ä¸æ£ãªæåãç¡è¦ããããã§ãã
æ°å¤ãªãã©ã«ããã³ Number() ã¨åæ§ã«ãparseFloat() ããè¿ãããæ°å¤ã¯ãæµ®åå°æ°ç¹ç¯å²ããã³ä¸æ£ç¢ºãã«ãããæååã§è¡¨ãããæ°å¤ã¨å®å
¨ã«çãããªãå ´åãããã¾ãã -1.7976931348623158e+308 ãã 1.7976931348623158e+308 ã®ç¯å²å¤ã®æ°å¤ï¼Number.MAX_VALUE ãåç
§ï¼ã®å ´åã¯ã -Infinity ã¾ã㯠Infinity ãè¿ããã¾ãã
ä¾
>æ°å¤ãè¿ã 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() {
return "3.14";
},
});
NaN ãè¿ã parseFloat()
以ä¸ã®ä¾ã¯ NaN ãè¿ãã¾ãã
parseFloat("FF2");
ã¡ãªã¿ã«ãæåå NaN èªä½ã¯ parseFloat() ã§åãå
¥ããããæ§æã§ã¯ãªãããã"NaN" ãæ¸¡ã㨠NaN ãè¿ããã¾ãã
parseFloat("NaN"); // NaN
ç¡é大ãè¿ã
æ°å¤ã 64 ãããã® IEEE 754-2019 æ¸å¼åç¯å²å¤ã®å ´åãç¡é大å¤ãè¿ããã¾ãã
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
æååã "Infinity" ã¾ã㯠"-Infinity" ã§å§ã¾ãå ´åããInfinity ãè¿ããã¾ãã
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
parseFloat 㨠BigInt
parseFloat() 㯠BigInt å¤ãå¦çãã¾ãããn æåã§åæ¢ãããã以åã®æååãéå¸¸ã®æ´æ°ã¨ãã¦å¦çãã¾ãã精度ã失ãããå¯è½æ§ãããã¾ããBigInt å¤ã parseFloat() ã«æ¸¡ãããã¨ããã®å¤ã¯æååã«å¤æããããã®æååã¯æµ®åå°æ°ç¹æ°ã¨ãã¦æ§æè§£æããã¾ãããã®å ´åãã精度ã失ãããå¯è½æ§ãããã¾ãã
parseFloat(900719925474099267n); // 900719925474099300
parseFloat("900719925474099267n"); // 900719925474099300
代ããã«ãæ«å°¾ã® n æåãåé¤ããæååã BigInt() 颿°ã«æ¸¡ãã¦ãã ããã
BigInt("900719925474099267");
// 900719925474099267n
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-parsefloat-string> |