日期:2014-05-16 浏览次数:20336 次
?
? ? 将字符串转会为数字最直接的方式是使用内建的Number构造函数:
?
???
var a='10'; a=Number(a);?
?
??? 另一种方法是使用parseInt和parseFloat函数,这两个函数会尝试从字符串的开始解析并返回一个整数和十进制数:
var a='88.88asdf';
var i=parseInt(a,10);
alert(i); //88
var f=parseFloat(a);
alert(f); // 88.88
???
??? 字符串首字母不是一个数字或者与数字相关的字符(+、-、.),返回NaN。可用isNaN判断是否是数字类型:
var a=parseInt(input,10); if( isNaN(a) ){ alert(.....); }?
?
?
?? 对parseInt的进一步讨论:
?? parseInt的第二个参数指定了从字符串中转换出来的数字的基数,这个参数是可选的,不过,强烈建议给它一个合适的值。
????
如果没有指定第二个参数,parseInt会自动进行基数判断;它会根据数字在字符串中的格式选择一个合理的基数。一个以0开始的数字会被认为是八进制
数,以0X或0x开始的数字会被认为是十六进制数,其他的数字则认为是十进制数。所以调用parseint('08'),会认为时八进制,但是8并不是八
进制数,所以这个函数返回0。