javascript
JS中的数据类型转换:String转换成Number的3种方法
今天有個學(xué)員問了個關(guān)于數(shù)據(jù)類型轉(zhuǎn)換的問題,我覺得這個是可以給大家說一下的。
JavaScript中,可以通過以下3種方法來將string值轉(zhuǎn)換成number:
1.調(diào)用Number()來對string進(jìn)行值類型轉(zhuǎn)換。
2.parseInt()。
3.parseFloat()。
Number()
使用Number()函數(shù)來對string進(jìn)行強制類型轉(zhuǎn)換是最直接的做法。不過,這種做法有一個局限性:如果字符串截去開頭和結(jié)尾的空白字符后,不是純數(shù)字字符串,那么最終返回結(jié)果為NaN。David Flanagan的JavaScript – The Definitive Guide 6th edition, 3.8.2節(jié)提到,用Number()函數(shù)來進(jìn)行string-to-number轉(zhuǎn)換時,函數(shù)只接受10進(jìn)制字符串,但測試結(jié)果表明事實并非如此,Number()函數(shù)可以接受”0xff”作為參數(shù)并將其轉(zhuǎn)換成數(shù)值255。
parseInt()
parseInt()函數(shù)可以將字符串轉(zhuǎn)換成一個整數(shù),與Number()函數(shù)相比,parseInt()函數(shù)不僅可以解析純數(shù)字字符串,也可以解析以數(shù)字開頭的部分?jǐn)?shù)字字符串(非數(shù)字部分字符串在轉(zhuǎn)換過程中會被去除)。值得注意的是,當(dāng)parseInt()函數(shù)所解析的是浮點數(shù)字符串時,取整操作所使用的方法為“向下取整”(truncate)。
除了字符串作為第一個參數(shù),parseInt()函數(shù)還可以接受2到36之間的任意整數(shù)作為第二個參數(shù),用于指定轉(zhuǎn)換過程中的進(jìn)制數(shù)。
parseFloat()
與parseInt()一樣,parseFloat()也可以解析以數(shù)字開頭的部分?jǐn)?shù)字字符串(非數(shù)字部分字符串在轉(zhuǎn)換過程中會被去除)。與parseInt()不同的是,parseFloat()可以將字符串轉(zhuǎn)換成浮點數(shù);但同時,parseFloat()只接受一個參數(shù),且僅能處理10進(jìn)制字符串。
所以我們平時方便使用,還是用parseInt()比較多也比較好避免錯誤。
總結(jié)
以上是生活随笔為你收集整理的JS中的数据类型转换:String转换成Number的3种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 声网3D空间音频技术解析:3D空间音效+
- 下一篇: python实现图形旋转_Python3