JavaScript >> Javascript 文檔 >  >> JavaScript

使用 JavaScript parseInt() 轉換為整數 [示例]

本文將向您展示如何使用 parseInt() JavaScript 編程語言中的函數。

JavaScript 是出了名的鬆散類型——這意味著一種類型的變量(例如,文本字符串、數值、布爾值)被轉換為其他類型,允許您對字符串執行數學運算以及類似的愚蠢操作。

這會導致各種問題 - 包含數字的字符串可能無法解析為預期值,並且突然之間,您有憤怒的客戶想知道為什麼您閃亮的新小部件計數應用報告的小部件數量錯誤。

JavaScript parseInt() 函數會將字符串類型的值轉換為整數類型的值,允許您指定要解析的字符串的格式,以幫助您確保只對數值變量進行數學運算。

TLDR:JavaScript 允許您對包含數值的字符串進行數學運算。請不要這樣做;這是個壞主意。

JavaScript parseInt() 語法

parseInt() 函數將第一個參數解析為整數值,基數可選,語法如下:

parseInt(STRING [, RADIX])

注意:

  • 字符串 是您希望讀取並解析為整數值的字符串
    • 如果傳遞的值不是字符串,它將被轉換為一個(這對某些類型的變量有副作用,例如 BigInt – 見下文)
  • 基數 是一個可選的基數值,默認為 10
    • 基數是數字系統的基礎——系統中唯一數字的個數
      • 所以,我們用來計算日常事物的數字系統的基數是 10,因為它有 10 個唯一字符 (0-9)
      • 基數 8 將解析八進制值、7 – 十六進制值、2 – 二進制值等
    • 用於確定STRING 將被解析
  • 該函數將返回一個整數NaN
    • NaN 是一個特殊值,表示 不是數字
    • 這意味著一個應該是數字的值不能被解析為數字
    • 任何其他值與 NaN 之間的任何數學運算 將導致 NaN
    • 這通常意味著數字解析或數學運算出現問題,您需要檢查代碼或以不同方式處理輸入
  • 在某些特殊情況下,parseInt() 行為將與您預期的不同:
    • 如果遇到非數字字符,則在解析數字時忽略該字符及其後的所有內容
      • 因此,帶有 e 的數字 用於表示使用字符 n 的指數或 BigInt 值 不應將其提供給 parseInt() 因為會返回不正確的值
      • + 和 - 符號是個例外
    • 如果提供的 RADIX 不是數字或者不能解析為數字,會做如下假設
      • 如果 STRING0x 開頭 或 0X, 基數將被假定為 16
      • 否則,將假定為 10

parseInt() 示例

這些示例都返回 15

parseInt(15)
parseInt('015')    
parseInt(15.99)
parseInt('15,123')
parseInt('FXX123', 16)
parseInt('1111', 2)
parseInt('15 * 3')
parseInt('15px')

這些示例返回 NaN – 表示不是數字的特殊值 :

parseInt('Hello Linux', 8)  
parseInt('867', 2)    // Invalid as digits other than 0 or 1 are invalid for a binary radix (2)

作為 parseInt() 只解析字符串中的數值,BigInt 值丟失 精度並變成整數(因為它們有一個 n 數字格式的末尾字符)。

這是因為 BigInt 被轉換為字符串進行解析,後面跟著 n 字符因非數字而被忽略:

parseInt('1958764527465896583n') // Returns 1958764527465896583

同樣,這顯示了 parseInt() 將如何忽略非數字字符及其之後的所有內容 :

parseInt('987_321')  // Returns 987

完整的 Mozilla 文檔概述了使用該函數的更多方法,以及在呈現不同類型的輸入和不同的基數值時它的作用。


Tutorial JavaScript 教程
  1. Web Atoms 中的 CachedWatch

  2. 使用 JavaScript 創建文件加密應用程序

  3. 我需要關注異步 Javascript 的競爭條件嗎?

  4. 現代 JavaScript 引擎執行哪些優化?

  5. 第一眼 slinkity

  6. 什麼是封閉範圍?

  7. 學習 React 和 GraphQL 的最佳資源

  1. Quasar 框架簡介:構建跨平台應用程序

  2. 錯誤就是結果

  3. 修復 JavaScript typeof 運算符

  4. React JSX 中的嵌套三元語句

  5. 如何使用 React Native SVG 創建圓環圖

  6. Colocated Fragments:如何在 React 中組織查詢

  7. 使用 Bootstrap 4 創建 Apple 網站

  1. 在 Jquery 中添加新字段

  2. 編寫出色的 Svelte 測試的技巧

  3. 我們如何在 express 和 mongoDB 中保護我們的密碼

  4. 我需要更改此代碼,但它沒有測試