js 字符串转数字

parseInt()    把字符串转化为整数,可设进制

parseFloat() 把字符串转化为浮点数,必须是十进制

注意要点:

1. 从左往右,如果从位置0起不是有效数字,就返回NaN

解决方法:

//提取字符串中所有数字
CBTC.CLang.getStringNum=function(str){
	var nums=str.match(/[0-9]/g);
	return nums.join("");
}
var s="sdfad0sa7f8";
var re=CBTC.CLang.getStringNum(s);
alert(re);                               //078
alert(parseInt(re,10));          //78

2. 自动根据起始字符判断进制,自动得让人找不到bug在哪儿

如上例中,re为078

如果alert(parseInt(re)),显示7  解释为八进制,"8"为非数字字符

再如,parseInt("0xA"); 显示10

        alert(parseInt("012"));显示10  把字符串按八进制理解,转化为10进制输出

解决方法:

显示设置进制,不让它自动理解

3.parseFloat函数认为,第一个出现的小数点也是有效字符,第二个小数点为无效字符

4.因为parseFloat不考虑其它进制,前导0忽略

5.JS虽然是弱类型的,但也不能乱搞

alert(parseInt("012.2",10));  //字符串,随便写,我都认
alert(parseInt(012.2,10));     //你给哥搞成这样,就等出错吧



转载于:https://www.cnblogs.com/manong13/archive/2012/03/01/2375754.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值