js 字串轉換成數字

2021-06-22 14:29:49 字數 2979 閱讀 3462

原文:

方法主要有三種

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

1. 轉換函式:

js提供了parseint()和parsefloat()兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行;對其他型別返回的都是nan(not a number)。

一些示例如下:

複製**

**如下:

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   8

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

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

parsefloat()方法與parseint()方法的處理方式相似。

使用parsefloat()方法的另一不同之處在於,字串必須以十進位制形式表示浮點數,parsefloat()沒有基模式。

下面是使用parsefloat()方法的示例:

複製**

**如下:

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

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

parsefloat("22.5");   //returns   22.5

parsefloat("22.34.5");   //returns   22.34

parsefloat("0908");   //returns   908

parsefloat("blue");   //returns   nan

2. 強制型別轉換

還可使用強制型別轉換(type casting)處理轉換值的型別。使用強制型別轉換可以訪問特定的值,即使它是另一種型別的。

ecmascript中可用的3種強制型別轉換如下:

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

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

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

用這三個函式之一轉換值,將建立乙個新值,存放由原始值直接轉換成的值。這會造成意想不到的後果。

當要轉換的值是至少有乙個字元的字串、非0數字或物件(下一節將討論這一點)時,boolean()函式將返回true。如果該值是空字串、數字0、undefined或null,它將返回false。

可以用下面的**段測試boolean型的強制型別轉換。

複製**

**如下:

boolean("");   //false   –   empty   string

boolean("hi");   //true   –   non-empty   string

boolean(100);   //true   –   non-zero   number

boolean(null);   //false   -   null

boolean(0);   //false   -   zero

boolean(new   object());   //true   –   object

number()的強制型別轉換與parseint()和parsefloat()方法的處理方式相似,只是它轉換的是整個值,而不是部分值。示例如下:

複製**

**如下:

用  法                   結  果

number(false)                  0

number(true)                   1

number(undefined)              nan

number(null)                   0

number( "5.5 ")                5.5

number( "56 ")                 56

number( "5.6.7 ")              nan

number(new   object())         nan

number(100)                    100

最後一種強制型別轉換方法string()是最簡單的,示例如下:

複製**

**如下:

var   s1   =   string(null);   //"null"

var   onull   =   null;

var   s2   =   onull.tostring();   //won't   work,   causes   an   error

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

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

複製**

**如下:

上例利用了js的弱型別的特點,只進行了算術運算,實現了字串到數字的型別轉換,不過這個方法還是不推薦的

js字串轉換成數字

將字串轉換成數字,得用到parseint函式。parseint string 函式從string的開始解析,返回乙個整數。舉例 parseint 123 返回 123 int parseint 1234 返回 1234 int 如果解析不到數字,則將返回乙個nan的值,可以用isnan 函式來檢測 ...

js字串轉換成數字,數字轉換成字串

將字串轉換成數字,得用到parseint函式。parseint string 函式從string的開始解析,返回乙個整數。舉例 parseint 123 返回 123 int parseint 1234 返回 1234 int 如果解析不到數字,則將返回乙個nan的值,可以用isnan 函式來檢測 ...

js字串轉換成數字,數字轉換成字串

js字串轉換成數字 將字串轉換成數字,得用到parseint函式。parseint string 函式從string的開始解析,返回乙個整數。舉例 parseint 123 返回 123 int parseint 1234 返回 1234 int 如果解析不到數字,則將返回乙個nan的值,可以用is...