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

JavaScript 数值转换

2012-02-22 11:08 821 查看
JS有3个函数函数可以把非数值转化为数值:Number(),parseInt(),parseFloat()。

Number()函数转化规则:

Boolean:true和false分别转化为1和0;

null         :返回0;

undefined:返回NaN;

string:

1、如果只包含数字,转化为十进制。Number(“1”)=1;Number("011")=11前导0被忽略; 

2、如果包含有效float格式。Number("1.1")=1.1,前导0呗忽略;

3、如果包含有效的16进制。Number("0x1f")==15;

4、如果为空,返回0;

5、如果包含除上述格式以外的字符,返回NaN;

object:如果是对象,先调用对象的valueOf();然后按照前面的规则转化返回的值;如果返回的值是NaN,则调用对象的toString()方法,

然后按照前面的规则转化返回的    

值。
parseInt():

此函数可以指定,转化基数,也可以不指定,不指定时按默认处理:前导为0,按8进制,前导为0x,按16进制处理。

parseInt("1234blue")=1234;
parseInt("")=NaN;
parseInt("0xf")=15;//16进制
parseInt("11.2")=11;取整
parseInt("070")=56;8进制
指定转化基数:
parseInt("af",16)=175;16进制转化,若不指定16时,返回:NaN
parseInt("10",2)=2;2进制
parseInt("10",8)=8;8进制
parseInt("10",16)=16;16进制
parseFloat():
与parseInt()相似,区别:
1,字符串中的第一个小数点有效。parseFloat("22.22.22")=22.22;
2,忽略前导“0”,16进制格式转化为0。parseFloat("0xA")=0;parseFloat("070")=70
parseFloat("3.125e7")=31250000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息