JavaScript中string轉換成number介紹
JavaScript中,可以通過以下3種方法來將string值轉換成number:
1.調用Number()來對string進行值類型轉換。
2.parseInt()。
3.parseFloat()。
Number()
使用Number()函數(shù)來對string進行強制類型轉換是最直接的做法。不過,這種做法有一個局限性:如果字符串截去開頭和結尾的空白字符后,不是純數(shù)字字符串,那么最終返回結果為NaN。David Flanagan的JavaScript – The Definitive Guide 6th edition, 3.8.2節(jié)提到,用Number()函數(shù)來進行string-to-number轉換時,函數(shù)只接受10進制字符串,但測試結果表明事實并非如此,Number()函數(shù)可以接受”0xff”作為參數(shù)并將其轉換成數(shù)值255。
var a = " 42";
var b = " 42mm";
var c = "0xff";
var d = "42.34";
console.log(Number(a));//42
console.log(Number(b));//NaN
console.log(Number(c));//255
console.log(Number(d));//42.34
parseInt()
parseInt()函數(shù)可以將字符串轉換成一個整數(shù),與Number()函數(shù)相比,parseInt()函數(shù)不僅可以解析純數(shù)字字符串,也可以解析以數(shù)字開頭的部分數(shù)字字符串(非數(shù)字部分字符串在轉換過程中會被去除)。值得注意的是,當parseInt()函數(shù)所解析的是浮點數(shù)字符串時,取整操作所使用的方法為“向下取整”(truncate)。
除了字符串作為第一個參數(shù),parseInt()函數(shù)還可以接受2到36之間的任意整數(shù)作為第二個參數(shù),用于指定轉換過程中的進制數(shù)。
var b = " 42mm";
var c = "0xff";
var x = "-12.34";
var y = "15.88";
var z = "101010";
console.log(parseInt(b));//42
console.log(parseInt(x));//-12
console.log(parseInt(y));//15
console.log(parseInt(c));//255
console.log(parseInt(z, 2));//42
console.log(parseInt(".1"));//NaN
parseFloat()
與parseInt()一樣,parseFloat()也可以解析以數(shù)字開頭的部分數(shù)字字符串(非數(shù)字部分字符串在轉換過程中會被去除)。與parseInt()不同的是,parseFloat()可以將字符串轉換成浮點數(shù);但同時,parseFloat()只接受一個參數(shù),且僅能處理10進制字符串。
var c = "0xff";
var d = "42.34";
console.log(parseFloat(c));//0, because "0xff" start with 0
console.log(parseFloat(d));//42.34
console.log(parseFloat(".1"));//0.1
相關文章
利用Js+Css實現(xiàn)折紙動態(tài)導航效果實例源碼
這篇文章主要給大家介紹了利用Js+Css實現(xiàn)折紙動態(tài)導航的效果,實現(xiàn)后的效果非常不錯,文中給出了簡單的介紹和完整的實例代碼,對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。2017-01-01JavaScript中async await更優(yōu)雅的錯誤處理方式
async/await中的異常處理很讓人混亂,盡管有很多種方式來應對async 函數(shù)的異常,但是連經驗豐富的開發(fā)者有時候也會搞錯,所以這篇文章主要給大家介紹了關于JavaScript中async await更優(yōu)雅的錯誤處理方式的相關資料,需要的朋友可以參考下2021-09-09