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

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

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

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

1.Number()函數(shù)

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

  • 示例

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

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

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

2..map(Number)

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

  • 示例

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

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

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

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

parseInt()和parseFloat()

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

  • 示例

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

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

    • 會(huì)忽略字符串開(kāi)頭的空格,直到找到第一個(gè)非空格字符。如果第一個(gè)非空格字符不是數(shù)字或符號(hào)(+/-),返回 NaN。

一元加運(yùn)算符 (+)

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

  • 示例

    let str = "123";
    let num = +str; // 123
  • 特點(diǎn)

    • 簡(jiǎn)潔,但可讀性可能不如 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
  • 特點(diǎn)

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

對(duì)比總結(jié)

方法適用場(chǎng)景是否嚴(yán)格轉(zhuǎn)換(無(wú)效字符串返回 NaN備注
Number()單個(gè)字符串轉(zhuǎn)數(shù)字推薦通用方式
.map(Number)數(shù)組中的字符串批量轉(zhuǎn)數(shù)字數(shù)組專(zhuān)用
parseInt()提取字符串中的整數(shù)部分否(會(huì)忽略無(wú)效后綴)可指定進(jìn)制
parseFloat()提取字符串中的浮點(diǎn)數(shù)部分否(會(huì)忽略無(wú)效后綴)只能解析十進(jìn)制
+ 運(yùn)算符快速單個(gè)字符串轉(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. 一元加運(yùn)算符
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)換)

注意事項(xiàng)

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

    • Number() 和 + 會(huì)返回 NaN

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

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

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

總結(jié)

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

相關(guān)文章

最新評(píng)論

尼玛县| 株洲县| 马公市| 赤壁市| 喀什市| 湄潭县| 格尔木市| 宁明县| 临江市| 且末县| 塘沽区| 桐梓县| 洞头县| 汝城县| 东安县| 武乡县| 合水县| 南皮县| 伊吾县| 玛多县| 内江市| 元朗区| 广河县| 永年县| 麦盖提县| 绿春县| 汝州市| 克什克腾旗| 万安县| 西宁市| 房产| 苍山县| 乐东| 页游| 壶关县| 凌源市| 镇远县| 麟游县| 友谊县| 渝北区| 西乌|