Js型別轉換

2021-10-03 12:29:02 字數 2827 閱讀 1382

+關注

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

方法主要有三種

轉換函式、強制型別轉換、利用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變數弱型別轉換

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

複製** **如下:

《script》

var str= 』012.345 『;

var x = str-0;

x = x*1;

《/script》

上例利用了js的弱型別的特點,只進行了算術運算,實現了字串到數字的型別轉換

JS 型別轉換 強制型別轉換

js 型別轉換 強制型別轉換 一 parseint 將其他型別轉換成number型別的整數 注意 string number 1 字串中值的首字元必須是數字,轉換後才能得到具體的值 否則得到nan 2 只轉換從首字元開始的連續數字 如 2b345 轉換後只得到2 3 除了string,其他型別轉換後...

js型別轉換

js varscolor blue alert scolor.length outputs 4 js varbfound false alert bfound.tostring outputs false js varinum1 10 varfnum2 10.0 alert fnum2.tostri...

js 型別轉換

function str function tostr val function todstr val,dv function trim str function lenb str function ismobile str d 13 d 15 d if reg.test trim str retu...