字串轉換成數字的三種方法

2021-08-28 01:27:59 字數 2346 閱讀 5636

最近經常遇到關於型別轉換的問題,索性上網搜搜在此總結一篇

js字元轉換成數字主要有三種可用的方法:

轉換函式、強制型別轉換、利用js變數弱型別轉換。

1. 轉換函式

js提供了parseint()和parsefloat()兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行,

對其他型別返回的都是nan

parseint() 函式

可解析乙個字串,並返回乙個整數。

parseint(string, radix)

radix 可選。表示要解析的數字的基數(進製)。該值介於 2 ~ 36 之間。

如果省略該引數或其值為 0,則數字將以 10 為基礎來解析。如果它以 「0x」 或 「0x」 開頭,將以 16 為基數。

如果該引數小於 2 或者大於 36,則 parseint() 將返回 nan。

返回值:返回解析後的數字。

*如果字串的第乙個字元不能被轉換為數字,那麼 parsefloat() 會返回 nan

*如果 string 以 "0x" 開頭,parseint() 會把 string 的其餘部分解析為十六進製制的整數。

*如果 string 以 0 開頭,那麼允許 parseint() 的乙個實現把其後的字元解析為八進位制或十六進製制的數字。

*如果 string 以 1 ~ 9 的數字開頭,parseint() 將把它解析為十進位制的整數。

一些示例如下:

parseint("1234blue"); // returns 1234

parseint("0xa"); //returns 10

parseint("22.5"); //returns 22

parseint("blue"); //returns nan

parseint()方法還有基模式,可以把二進位制、八進位制、十六進製制或其他任何進製的字串轉換成整數。基數是由parseint()方法的第二個引數指定的,示例如下:

parseint("af",16); //returns 175

parseint("10",2); //returns 2

parseint("10",8); //returns 8

parseint("10",10); //returns 10

如果十進位制數包含前導0,那麼最好採用基數10,這樣才不會意外地得到八進位制的值。例如:

parseint("010"); //returns 10

parseint("010", 8); //returns 8

parseint("010", 10); //returns 10

parsefloat() 函式可解析乙個字串,並返回乙個浮點數。

該函式判斷字串中的首個字元是否是數字,如果是,則對字串進行解析,然後以數字返回該數字,而不是作為字串。

*如果引數字串的第乙個字元不能被解析成為數字,則 parsefloat 返回 nan。

*可以通過呼叫 isnan 函式來判斷 parsefloat 的返回結果是否是 nan。

*開頭和結尾的空格是允許的。

*如果只想解析數字的整數部分,請使用 parseint() 方法。

示例如下:

parsefloat("1234blue"); //returns 1234

parsefloat("0xa"); //returns 0

parsefloat("22.5"); //returns 22.5

parsefloat("22.34.5"); //returns 22.34

parsefloat("0908"); //returns 908 // parsefloat 針對開頭為 0 0的處理

parsefloat("blue"); //returns nan

parsefloat()方法與parseint()方法相似,不同之處在於,parsefloat必須以十進位制形式表示浮點數,沒有基模式。

2.強制型別轉換

boolean(value)——把給定的值轉換成boolean型;

number(value)——把給定的值轉換成數字(可以是整數或浮點數);

string(value)——把給定的值轉換成字串。

3. 利用js變數弱型別轉換

舉個小例子,一看,就會明白了。

var str = 5332355';

var x = str - 0;

x = x * 1;

利用了js的弱型別的特點,只進行了算術運算,實現了字串到數字的型別轉換,不過這個方法還是不推薦的。存在一些安全問題。

js 字串轉換成數字的三種方法

js 字串轉換成數字的三種方法 在js讀取文字框或者其它表單資料的時候獲得的值是字串型別的,例如兩個文字框a和b,如果獲得a的value值為11,b的value值為9 那麼a.value要小於b.value,因為他們都是字串形式的.在網上找了一下js字串轉數字的文章,這個比較全 方法主要有三種 轉換...

js 字串轉換成數字的三種方法

在js讀取文字框或者其它表單資料的時候獲得的值是字串型別的,例如兩個文字框a和b,如果獲得a的value值為11,b的value值為9 那麼a.value要小於b.value,因為他們都是字串形式的.在網上找了一下js字串轉數字的文章,這個比較全 方法主要有三種 轉換函式 強制型別轉換 利用js變數...

字串轉換成數字的三種方法 js

在js讀取文字框或者其它表單資料的時候獲得的值是字串型別的,例如兩個文字框a和b,如果獲得a的value值為11,b的value值為9 那麼a.value要小於b.value,因為他們都是字串形式的.在網上找了一下js字串轉數字的文章,這個比較全 方法主要有三種 轉換函式 強制型別轉換 利用js變數...