日期:2014-05-16  浏览次数:20336 次

javascript中字符串转换为数字

?

? ? 将字符串转会为数字最直接的方式是使用内建的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。