JS中的資料型別轉換:String轉換成Number的3種方法
今天有個學員問了個關於資料型別轉換的問題,我覺得這個是可以給大家說一下的。
JavaScript中,可以通過以下3種方法來將string值轉換成number:
1.呼叫Number()來對string進行值型別轉換。
2.parseInt()。
3.parseFloat()。
Number()
使用Number()函式來對string進行強制型別轉換是最直接的做法。不過,這種做法有一個侷限性:如果字串截去開頭和結尾的空白字元後,不是純數字字串,那麼最終返回結果為NaN。David Flanagan的JavaScript – The Definitive Guide 6th edition, 3.8.2節提到,用Number()函式來進行string-to-number轉換時,函式只接受10進位制字串,但測試結果表明事實並非如此,Number()函式可以接受”0xff”作為引數並將其轉換成數值255。
parseInt()
parseInt()函式可以將字串轉換成一個整數,與Number()函式相比,parseInt()函式不僅可以解析純數字字串,也可以解析以數字開頭的部分數字字串(非數字部分字串在轉換過程中會被去除)。值得注意的是,當parseInt()函式所解析的是浮點數字符串時,取整操作所使用的方法為“向下取整”(truncate)。
除了字串作為第一個引數,parseInt()函式還可以接受2到36之間的任意整數作為第二個引數,用於指定轉換過程中的進位制數。
parseFloat()
與parseInt()一樣,parseFloat()也可以解析以數字開頭的部分數字字串(非數字部分字串在轉換過程中會被去除)。與parseInt()不同的是,parseFloat()可以將字串轉換成浮點數;但同時,parseFloat()只接受一個引數,且僅能處理10進位制字串。
所以我們平時方便使用,還是用parseInt() 比較多也比較好避免錯誤。
如果想學習更多前端開發教程,歡迎關注公眾號【前端研究所】,每天更新更多新內容哦!
相關文章
- JS中資料型別轉換JS資料型別
- JS資料型別的轉換JS資料型別
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- 【java】int轉換成String的四種方法Java
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- String和基本資料型別的相互轉換資料型別
- c++中幾種常見的型別轉換。int與string的轉換,float與string的轉換以及string和long型別之間的相互轉換。to_string函式的實現和應用。C++型別函式
- js資料型別間的互相轉換JS資料型別
- JS資料型別轉換規則JS資料型別
- (譯)js中的神奇的型別轉換JS型別
- js型別轉換JS型別
- 型別轉換(int 和 String)型別
- 3. php資料型別、資料型別轉換PHP資料型別
- Python3 資料型別轉換Python資料型別
- 資料型別,型別轉換資料型別
- 資料型別轉換資料型別
- JS在if中的強制型別轉換JS型別
- Java中String和byte型別互相轉換Java型別
- Map和String型別之間的轉換型別
- JavaScript之number型別的數值轉換成某某進位制JavaScript型別
- String.valueOf和強制型別轉換(String)的區別型別
- JSON序列化時將BigDecimal型別轉換成String型別JSONDecimal型別
- Java資料型別的顯式轉換和隱式轉換Java資料型別
- java中的型別轉換Java型別
- JS中將一個值轉換為字串的3種方法JS字串
- 資料型別及轉換資料型別
- 【Java】資料型別轉換Java資料型別
- JavaScript 資料型別轉換JavaScript資料型別
- javascript資料型別轉換JavaScript資料型別
- golang 中的四種型別轉換總結Golang型別
- 附一張js的型別轉換JS型別
- 你可能忽略的js型別轉換JS型別
- Java資料型別及型別轉換Java資料型別
- C# 泛型中的資料型別判定與轉換C#泛型資料型別
- 聊聊 C++ 中的四種型別轉換符C++型別
- 2、java資料型別轉換Java資料型別
- JavaScript 基本資料型別轉換JavaScript資料型別