转换成数字
1.parseInt()/parseFloat() 只有对String类型调用这些方法,他们才能正确运行;对其他类型返回的都是NaN.
2.parseInt()将把所有的数字字面量的转换为数字。
var iNum1=parseInt("123blue"); //returns 123
var iNum2=parseInt("0XA"); //returns 10 十六进制转换为10进制
var iNum3=parseInt("22.5"); //returns 22
var iNum4=parseInt("blue"); //returns NaN
3.parseInt()方法还有基模式,可以把二进制,八进制,十六进制或者其他进制的字符串转换为整数。
如果十进制包含前导0,那么最好还是采用基数10,这样才不会意外地得到八进制的值
eg:var iNum1=parseInt("010"); //returns 8
var iNum2=parseInt("010",8); //returns 8
var iNum3=parseInt("010",10); //return 10
4.使用parseFloat()方法的另一个不同之处在于,字符串必须以十进制形式表示浮点数,而不能使用八进制或者十六进制形式。该方法会忽略前导0,所以八进制 0908 将解析为 908。对应十六进制数0xA,该方法将返回NaN,因为在浮点数中x不是有效字符。此外,parseFloat()没有基模式。
5.parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串,因此"4.5.6"将被转换为"4.5".用Number()进行强制类型转换,将返回NaN.
6.Number类还有几个处理数值的专用方法。
a.toFixed()方法返回的是具有指定位数的数字的字符串。处理货币的时候,此方法很有用。此方法能表示具有0到20位小数的数字,超出会引发错误。
eg:var oNumberObject=new Number(99);
alert(oNumberObject.toFixed(2)); //returns "99.00"
b.toExponential()方法将返回用科学计数法表示的数字的字符串形式。