最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中parseFloat()函數(shù)的使用示例

 更新時間:2025年08月07日 10:25:47   作者:Gloria-!  
parseFloat主要將首位是數(shù)字的字符串轉(zhuǎn)換成浮點(diǎn)型數(shù)字,如果字符串不是以數(shù)字開頭,就會返回NaN,這篇文章主要給大家介紹了關(guān)于JavaScript中parseFloat()函數(shù)的使用示例,需要的朋友可以參考下

一、基本語法

parseFloat() 是 JavaScript 中用于將字符串解析為浮點(diǎn)數(shù)(十進(jìn)制小數(shù))的函數(shù)。

它會從字符串的開頭提取數(shù)字部分,直到遇到無法解析為數(shù)字的字符為止。

以下是詳細(xì)用法和注意事項(xiàng):

parseFloat(string)
  • 參數(shù):string(要解析的字符串,非字符串類型會自動轉(zhuǎn)換為字符串)。
  • 返回值:成功解析–>返回對應(yīng)的浮點(diǎn)數(shù),失敗解析–>返回 NaN(非數(shù)值)。

二、使用示例

  1. 基本解析
console.log(parseFloat("3.14"));     // 3.14
console.log(parseFloat("-12.5"));    // -12.5
console.log(parseFloat("12.3e5"));   // 1230000(科學(xué)計數(shù)法)
  1. 忽略非數(shù)字字符
console.log(parseFloat("123.45px")); // 123.45(提取到第一個非數(shù)字前)
console.log(parseFloat("abc123"));   // NaN(開頭無有效數(shù)字)
console.log(parseFloat("  4.5  "));  // 4.5(忽略前后空格)
  1. 處理特殊值
console.log(parseFloat("Infinity")); // Infinity(特殊值)
console.log(parseFloat("NaN"));      // NaN(無法解析為數(shù)值)
console.log(parseFloat("Infinity"));  // Infinity
console.log(parseFloat("-Infinity")); // -Infinity
console.log(parseFloat("NaN"));       // NaN
console.log(parseFloat("0x10"));      // 16(十六進(jìn)制)
console.log(parseFloat("0b10"));      // 2(不支持,返回 NaN)
console.log(parseFloat("0o10"));      // 8(八進(jìn)制)
console.log(parseFloat("0.1e2"));     // 10(科學(xué)計數(shù)法)
console.log(parseFloat("0.1e-2"));    // 0.001(科學(xué)計數(shù)法)
console.log(parseFloat("0.1e+2"));    // 10(科學(xué)計數(shù)法)
console.log(parseFloat("0.1e+2.3"));  // 10(忽略后面的部分)
console.log(parseFloat("0.1e+2abc")); // 10(忽略后面的部分)
console.log(parseFloat("0.1e+2.3abc")); // 10(忽略后面的部分)
console.log(parseFloat("0.1e+2abc")); // 10(忽略后面的部分)
console.log(parseFloat("0.1e+2  .3abc")); // 10(忽略后面的部分)
  1. 非字符串參數(shù)
        console.log(parseFloat(123));        // 123(數(shù)字 → 字符串)   
        console.log(parseFloat(true));       // NaN(true → "true")
        console.log(parseFloat(null));       // NaN(null → "null")
        console.log(parseFloat([]));         // 0(空數(shù)組 → "" → 0?)
// 注意:空數(shù)組會被轉(zhuǎn)換為空字符串,parseFloat("") 返回 NaN,但某些瀏覽器可能返回 0。

三、注意事項(xiàng)

  1. 與 parseInt() 的區(qū)別
    函數(shù) 解析目標(biāo) 進(jìn)制處理 示例
    parseFloat() 浮點(diǎn)數(shù) 僅十進(jìn)制 parseFloat(“0xA”) → 0
    parseInt() 整數(shù) 可指定進(jìn)制(默認(rèn)十進(jìn)制) parseInt(“0xA”, 16) → 10

  2. 與 Number() 的區(qū)別

  • Number() 會嚴(yán)格轉(zhuǎn)換整個字符串:
console.log(Number("123.45px")); // NaN
console.log(parseFloat("123.45px")); // 123.45
  1. 科學(xué)計數(shù)法支持
console.log(parseFloat("1.2e3"));  // 1200
console.log(parseFloat("1E-3"));    // 0.001
  1. 前導(dǎo)零與進(jìn)制問題
    parseFloat() 不解析八進(jìn)制或十六進(jìn)制:
console.log(parseFloat("0xA"));   // 0(僅解析到第一個非數(shù)字字符)
console.log(parseFloat("0123"));  // 123(前導(dǎo)零被忽略)

四、實(shí)際應(yīng)用場景

  1. 提取帶單位的數(shù)值
const width = "200.5px";
const numericValue = parseFloat(width); // 200.5
  1. 處理用戶輸入
const userInput = prompt("請輸入價格:");
const price = parseFloat(userInput);
if (!isNaN(price)) {
  console.log(`價格是:${price}`);
} else {
  console.log("輸入無效!");
}
  1. 安全轉(zhuǎn)換數(shù)值
// 避免直接轉(zhuǎn)換潛在的非數(shù)字字符串
function safeParse(str) {
  const num = parseFloat(str);
  return isNaN(num) ? 0 : num;
}
console.log(safeParse("abc")); // 0

五、總結(jié)

  • 用途:從字符串中提取浮點(diǎn)數(shù),適合處理混合字符的數(shù)值(如 “100px”)。
  • 特點(diǎn):自動忽略前導(dǎo)空格,支持科學(xué)計數(shù)法,不識別進(jìn)制前綴。
  • 陷阱:無法解析非數(shù)字開頭字符串時返回 NaN,需結(jié)合 isNaN() 驗(yàn)證結(jié)果。
  • 替代方案:需要嚴(yán)格解析時,可用正則表達(dá)式或 Number() 轉(zhuǎn)換。

到此這篇關(guān)于JavaScript中parseFloat()函數(shù)使用的文章就介紹到這了,更多相關(guān)JS parseFloat()函數(shù)使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

昭苏县| 苏尼特左旗| 大新县| 太保市| 额济纳旗| 揭阳市| 沐川县| 荣昌县| 洞口县| 拜泉县| 酉阳| 太保市| 郁南县| 扬州市| 从江县| 南昌县| 芷江| 岳阳市| 沙田区| 顺昌县| 海淀区| 北流市| 手游| 平邑县| 波密县| 南开区| 东安县| 古蔺县| 江安县| 盘山县| 义马市| 尉氏县| 东明县| 彰武县| 诸暨市| 苏尼特右旗| 太和县| 穆棱市| 长海县| 车险| 朝阳区|