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

JavaScript中字符串轉(zhuǎn)數(shù)字的幾種常見方法

 更新時間:2025年08月04日 10:00:36   作者:蜉蝣901  
在JavaScript中數(shù)字、字符串和布爾值是三種基本的數(shù)據(jù)類型,它們之間可以通過特定的方法進行轉(zhuǎn)換,這篇文章主要給大家介紹了關(guān)于JavaScript中字符串轉(zhuǎn)數(shù)字的幾種常見方法,需要的朋友可以參考下

在 JavaScript 中,將字符串轉(zhuǎn)換為數(shù)字有幾種常見方式,包括使用 .map(Number) 和 Number()。以下是詳細的解釋和比較:

1.Number()函數(shù)

  • 作用:將字符串或其他類型的值轉(zhuǎn)換為數(shù)字。

  • 示例

    let str = "123";
    let num = Number(str); // 123
  • 特點

    • 如果字符串不是有效的數(shù)字(如 "123abc"),會返回 NaN。

    • 可以處理 null(轉(zhuǎn)為 0)、undefined(轉(zhuǎn)為 NaN)、布爾值(true 轉(zhuǎn)為 1,false 轉(zhuǎn)為 0)等。

2..map(Number)

  • 作用:對數(shù)組中的每個元素調(diào)用 Number() 函數(shù),將數(shù)組中的字符串批量轉(zhuǎn)換為數(shù)字。

  • 示例

    let strArray = ["1", "2", "3"];
    let numArray = strArray.map(Number); // [1, 2, 3]
  • 特點

    • 是 Array.prototype.map 和 Number 函數(shù)的結(jié)合,等價于 .map(x => Number(x))。

    • 會遍歷數(shù)組,對每個元素調(diào)用 Number()。

其他常見字符串轉(zhuǎn)數(shù)字的方式

parseInt()和parseFloat()

  • 作用:解析字符串中的整數(shù)或浮點數(shù)。

  • 示例

    let str = "123.45";
    let intNum = parseInt(str); // 123(整數(shù)部分)
    let floatNum = parseFloat(str); // 123.45
  • 特點

    • parseInt 可以指定進制(如 parseInt("1010", 2) 將二進制字符串轉(zhuǎn)為十進制數(shù)字 10)。

    • 會忽略字符串開頭的空格,直到找到第一個非空格字符。如果第一個非空格字符不是數(shù)字或符號(+/-),返回 NaN。

一元加運算符 (+)

  • 作用:快速將字符串轉(zhuǎn)為數(shù)字。

  • 示例

    let str = "123";
    let num = +str; // 123
  • 特點

    • 簡潔,但可讀性可能不如 Number()。

    • 行為與 Number() 完全一致。

Math.floor()、Math.ceil()、Math.round()

  • 作用:將字符串轉(zhuǎn)為數(shù)字并向下取整、向上取整或四舍五入。

  • 示例

    let str = "123.7";
    let floorNum = Math.floor(+str); // 123
    let ceilNum = Math.ceil(+str); // 124
    let roundNum = Math.round(+str); // 124
  • 特點

    • 通常需要先通過 Number() 或 + 將字符串轉(zhuǎn)為數(shù)字,再調(diào)用這些方法。

對比總結(jié)

方法適用場景是否嚴格轉(zhuǎn)換(無效字符串返回 NaN備注
Number()單個字符串轉(zhuǎn)數(shù)字推薦通用方式
.map(Number)數(shù)組中的字符串批量轉(zhuǎn)數(shù)字數(shù)組專用
parseInt()提取字符串中的整數(shù)部分否(會忽略無效后綴)可指定進制
parseFloat()提取字符串中的浮點數(shù)部分否(會忽略無效后綴)只能解析十進制
+ 運算符快速單個字符串轉(zhuǎn)數(shù)字行為同 Number()
Math 相關(guān)方法轉(zhuǎn)換后需要取整是(需先轉(zhuǎn)為數(shù)字)通常配合 Number() 或 + 使用

示例代碼

// 1. Number()
console.log(Number("123")); // 123
console.log(Number("123abc")); // NaN

// 2. .map(Number)
let strArray = ["1", "2", "3"];
console.log(strArray.map(Number)); // [1, 2, 3]

// 3. parseInt() 和 parseFloat()
console.log(parseInt("123.45")); // 123
console.log(parseFloat("123.45")); // 123.45

// 4. 一元加運算符
console.log(+"123"); // 123

// 5. Math 方法
console.log(Math.floor("123.7")); // 123(隱式轉(zhuǎn)換)
console.log(Math.floor(Number("123.7"))); // 123(顯式轉(zhuǎn)換)

注意事項

  • 如果字符串包含非數(shù)字字符:

    • Number() 和 + 會返回 NaN。

    • parseInt() 和 parseFloat() 會盡可能解析前面的數(shù)字部分。

  • 對于數(shù)組批量轉(zhuǎn)換,.map(Number) 是最簡潔的方式。

根據(jù)需求選擇合適的方法!

總結(jié)

到此這篇關(guān)于JavaScript中字符串轉(zhuǎn)數(shù)字的幾種常見方法的文章就介紹到這了,更多相關(guān)js字符串轉(zhuǎn)數(shù)字方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

安新县| 平果县| 锦屏县| 彭山县| 漳州市| 繁峙县| 安远县| 云安县| 巧家县| 邯郸市| 常熟市| 义马市| 孝感市| 京山县| 梁山县| 临沂市| 通山县| 秭归县| 商城县| 龙州县| 庆云县| 扬州市| 通榆县| 彰武县| 武强县| 固原市| 东源县| 东港市| 措勤县| 灵山县| 汤原县| 明星| 罗江县| 绍兴市| 屏东县| 阿克苏市| 呼图壁县| 宁陵县| 松潘县| 白山市| 定西市|