亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

1.Number()函數(shù)

  • 作用:將字符串或其他類型的值轉(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)

  • 作用:對數(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ù)組,對每個(gè)元素調(diào)用 Number()

其他常見字符串轉(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ì)忽略字符串開頭的空格,直到找到第一個(gè)非空格字符。如果第一個(gè)非空格字符不是數(shù)字或符號(hào)(+/-),返回 NaN。

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

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

  • 示例

    let str = "123";
    let num = +str; // 123
  • 特點(diǎ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)

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

對比總結(jié)

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

  • 對于數(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)文章

最新評論