搜尋
首頁web前端js教程快速提示:如何將字符串轉換為JavaScript中的數字

Quick Tip: How to Convert a String to a Number in JavaScript

核心要點

  • JavaScript 提供多種將字符串轉換為數字的方法,包括 Number() 函數、parseInt()parseFloat() 函數以及一元加號 ( ) 運算符。每種方法都有其自身的用途,可根據代碼的具體要求使用。
  • 在將字符串轉換為數字時,處理非數字字符至關重要。如果字符串包含除數字以外的字符,Number() 函數將返回 NaN,而 parseInt()parseFloat() 函數則會解析字符串(如果數字位於字符串的開頭),並丟棄其餘字符。
  • 務必注意返回結果可能是 NaN 的情況。要檢查值是否為 NaN,可以使用全局函數 isNaN()

JavaScript 提供多種數據類型轉換方法。我們已經介紹瞭如何將數字轉換為字符串。在本簡短教程中,我們將介紹如何在 JavaScript 中將字符串轉換為數字。

許多情況下,數字可能以字符串的形式存儲。例如,從表單元素接收的值始終是字符串。

通常,您可以將包含數字(且僅包含數字)的 JavaScript 字符串視為數字,JavaScript 將自動執行字符串到數字的轉換。但是,有時您需要從字符串中提取數字,或對轉換方式進行更多控制。

在此快速提示中,我們將介紹三種將字符串轉換為數字的方法。

使用 Number() 將字符串轉換為數字

在 JavaScript 中將字符串轉換為數字最直接的方法是使用內置的 Number 構造函數。例如:

const str = "10";
console.log(str); // "10"
console.log(typeof str); // "string"

const number = Number(str);
console.log(number); // 10
console.log(typeof number); // "number"

在控制台中記錄 str 的值及其類型時,結果分別是作為字符串的 10 和字符串。轉換後,結果分別是作為數字的 10 和數字。

您可以在以下 CodePen 演示中查看實際示例。

[CodePen 演示鏈接 (請https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

請注意,如果您將非數字字符串傳遞給數字,則將返回 NaN。

使用 parseInt()parseFloat() 將字符串轉換為數字

另一種方法是使用 parseInt()parseFloat()。顧名思義,parseInt() 將字符串解析為整數,而 parseFloat() 將字符串解析為帶小數點的數字。

例如:

const str = "10.9";
console.log(str); // "10.9"
console.log(typeof str); // "string"

const intNumber = parseInt(str);
console.log(intNumber); // 10
console.log(typeof intNumber); // "number"

const floatNumber = parseFloat(str);
console.log(floatNumber); // 10.9
console.log(typeof floatNumber); // "number"

與第一種方法類似,在控制台中記錄 str 的值及其類型時,結果分別是作為字符串的 10.9 和字符串。但是,使用 parseInt 解析 str 時,intNumber 的值變為 10,其類型為數字。

另一方面,使用 parseFloat 解析 str 時,floatNumber 的值變為 10.9(作為數字),其類型為數字。

您可以在以下 CodePen 演示中查看實際示例。

[CodePen 演示鏈接 (請https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

parseInt() 的第二個參數

parseInt() 接受第二個參數,該參數指定要從字符串中解析的數字的基數。此參數實際上是可選的,但強烈建議您始終提供它。

如果沒有此第二個參數,parseInt 將執行自動基數檢測。也就是說,它通過字符串中的格式檢測數字的基數。以 0x 或 0X 開頭的數字被認為是十六進制(基數 16),所有其他數字都被認為是十進制。

因此,例如,如果您要調用 parseInt("08"),則輸入值將被視為八進制數;但 8 不是八進制數字(因為八進制數為 0-7),因此函數將返回零,而不是八。

為避免任何混淆,在使用 parseInt() 時始終指定基數。

使用一元加號將字符串轉換為數字

將字符串轉換為數字的第三種方法是使用一元加號 ( ) 。如果在一元加號之前使用操作數,它將嘗試將其轉換為數字。因此,如果操作數是包含數字的字符串,則一元加號將將其轉換為數字。

例如:

const str = "10";
console.log(str); // "10"
console.log(typeof str); // "string"

const number = Number(str);
console.log(number); // 10
console.log(typeof number); // "number"

當您記錄 str 的類型時,正如預期的那樣,它是字符串。但是,當您記錄 str 的值及其類型時,控制台中分別記錄了 10 和數字。

您可以在以下 CodePen 演示中查看實際示例。

[CodePen 演示鏈接 (請https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

如何處理字符串中的非數字字符

務必考慮字符串可能包含除數字以外的字符的情況,以及每種方法如何處理這種情況。

使用 Number() 時,如果字符串包含除數字以外的字符、開頭處的加號 ( ) 和減號 (-) 或小數點,則返回值是特殊值 NaN(非數字)。 NaN 是表示非數字的全局屬性。當這些運算的操作數或參數不是數字或不能用於該特定數學運算時,某些數值運算將返回它。

另一方面,如果數字位於字符串的開頭,則 parseInt()parseFloat() 將解析字符串。它會丟棄其餘字符,並採用在字符串開頭遇到的數字。但是,如果字符串以除數字以外的字符、開頭處的加號 ( ) 和減號 (-) 或小數點開頭,則返回值是特殊值 NaN(非數字)。

您可以在以下 CodePen 演示中查看實際示例。

[CodePen 演示鏈接 (請https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)]

如您所見,Number() 返回 NaN,因為字符串包含 px。但是,parseInt() 返回 10,因為它位於字符串的開頭。

您可以使用全局函數 isNaN() 檢查值是否為 NaN。

結論

本簡短教程介紹了三種在 JavaScript 中將字符串轉換為數字的方法。 Number() 可以將字符串轉換為數字,無論是浮點數還是整數。但是,如果字符串包含其他字符,它將返回 NaN。如果您想確保字符串的嚴格轉換,這將很有用。

另一方面,parseInt()parseFloat() 在處理數字中的其他字符方面更靈活。但是,在某些情況下,這兩個函數不能互換使用。例如,如果字符串中的數字是浮點數,而您使用 parseInt(),則與字符串相比,您將獲得不正確的值。

雖然一元加號易於使用,但它可能會降低代碼的可讀性。無論您選擇哪種方法,都務必注意返回結果可能是 NaN 的情況。

如果您覺得這篇文章有用,您可能還會喜歡以下內容:

  • 學習使用 JavaScript 編程
  • 如何快速學習 JavaScript:六個簡單的思維技巧 (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • 25 JavaScript 簡寫編碼技巧 (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • ES6 實戰:新的數字方法 (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • ES6 實戰:新的字符串方法 — String.prototype.* (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • 真值和假值:JavaScript 中並非所有內容都相等 (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)

JavaScript 中將字符串轉換為數字的常見問題解答

在 JavaScript 中將字符串轉換為數字有哪些不同的方法?

在 JavaScript 中將字符串轉換為數字有幾種方法。最常用的方法包括 Number() 函數、parseInt() 函數、parseFloat() 函數和一元加號 ( ) 運算符。每種方法都有其自身的用途,可根據代碼的具體要求使用。

Number() 函數在 JavaScript 中是如何工作的?

JavaScript 中的 Number() 函數可用於將字符串轉換為數字。它以字符串作為參數,並返回一個數字。如果字符串無法轉換為數字,則返回 NaN(非數字)。例如,Number("1234") 將返回 1234,而 Number("1234abc") 將返回 NaN。

parseInt()parseFloat() 在 JavaScript 中有什麼區別?

parseInt()parseFloat() 都用於將字符串轉換為 JavaScript 中的數字。區別在於它們返回的數字類型。 parseInt() 返回整數,而 parseFloat() 返回浮點數。例如,parseInt("123.45") 將返回 123,而 parseFloat("123.45") 將返回 123.45。

如何使用一元加號 ( ) 運算符將字符串轉換為 JavaScript 中的數字?

一元加號 ( ) 運算符可用於將字符串轉換為 JavaScript 中的數字。它放在字符串之前,如下所示: “1234”。這將返回數字 1234。如果字符串無法轉換為數字,則返回 NaN。

如果我嘗試將非數字字符串轉換為 JavaScript 中的數字會發生什麼?

如果您嘗試使用上述任何方法將非數字字符串轉換為 JavaScript 中的數字,它將返回 NaN,即非數字。

如何檢查 JavaScript 中從字符串到數字的轉換是否成功?

您可以使用 JavaScript 中的 isNaN() 函數檢查從字符串到數字的轉換是否成功。如果參數為非數字 (NaN),則此函數返回 true,否則返回 false。

我可以在不使用任何內置函數的情況下將字符串轉換為 JavaScript 中的數字嗎?

是的,可以在不使用任何內置函數的情況下將字符串轉換為 JavaScript 中的數字,儘管這更複雜,不推薦初學者使用。一種方法是使用循環迭代字符串中的每個字符,並使用數字的 ASCII 值計算數字。

如何將字符串轉換為 JavaScript 中的整數?

您可以使用 parseInt() 函數將字符串轉換為 JavaScript 中的整數。此函數以字符串作為參數,並返回一個整數。如果字符串無法轉換為整數,則返回 NaN。

如何將字符串轉換為 JavaScript 中的浮點數?

您可以使用 parseFloat() 函數將字符串轉換為 JavaScript 中的浮點數。此函數以字符串作為參數,並返回一個浮點數。如果字符串無法轉換為浮點數,則返回 NaN。

將字符串轉換為 JavaScript 中的數字的最佳方法是什麼?

將字符串轉換為 JavaScript 中的數字的最佳方法取決於您的具體要求。如果您需要整數,請使用 parseInt()。如果您需要浮點數,請使用 parseFloat()。如果您不確定,請使用 Number() 函數或一元加號 ( ) 運算符,因為它們可以處理整數和浮點數。

請注意,我已盡力對原文進行偽原創,並保留了圖片的原始格式和位置。 由於無法訪問外部網站和圖片鏈接,我無法驗證圖片鏈接的有效性,請您自行確認。 如有需要,請提供圖片的本地文件。

以上是快速提示:如何將字符串轉換為JavaScript中的數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具