您的位置:首页 > Web前端 > JavaScript

javascript数据类型转换

2013-03-21 09:47 495 查看

1、转换函数:parseInt(string,radix),parseFloat(string);

parseInt()解析一个字符串,并返回一个整数;parseFloat()解析一个字符串,并返回一个浮点数。
string:必须,要被解析的字符

radix:可选,表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

parseInt("10");            //返回 10
parseInt("19",10);        //返回 19 (10+9)
parseInt("11",2);        //返回 3 (2+1)
parseInt("17",8);        //返回 15 (8+7)
parseInt("1f",16);        //返回 31 (16+15)
parseInt("010");        //未定:返回 10 或 8


返回的值,从string左起第一个字符开始,如果为数字就继续往右取,直到碰到非数字停止,如果第一个字符为非数字,那么返回NaN。

注释:开头和结尾的空格是允许的。

parseInt("123a1235");        //返回123
parseInt("123.2asdf134");    //返回123
parseFloat("123.2ab3");        //返回123.2
parseInt("a123.2");            //返回NaN
parseFloat("a123.2");        //返回NaN  


2、强制类型转换

Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。

Boolean()返回一个布尔值:

返回false:0,"",null,NaN,undefined

返回true:非0数字,非空字符串,非空对象

Number()

与parseInt(),parseFloat()不同的是,它转换的是整个值,而parseInt(),parseFloat()是从左边开始的。

Number(true)        //1
Number(false)        //0
Number(undefined)    //NaN
Number(null)        //0
Number(NaN)            //NaN
Number(5)            //5
Number("55")        //55
Number("55.5")        //55.5
Number("abc")        //NaN
Number("5abc7")        //NaN
Number("5.7.2")        //NaN
Number(new Object())//NaN


String()

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString();

//好吧,其实我还没理解toString(),这里是我直接搬过来的

3. 利用js变量弱类型转换

举个小例子,一看,就会明白了。

var  str= '012.345 ';
var  x  =  str-0;
x  =  x*1;


上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: