无为清净楼资源网 Design By www.qnjia.com

JavaScript中,可以通过以下3种方法来将string值转换成number:

1.调用Number()来对string进行值类型转换。
2.parseInt()。
3.parseFloat()。

Number()

使用Number()函数来对string进行强制类型转换是最直接的做法。不过,这种做法有一个局限性:如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN。David Flanagan的JavaScript – The Definitive Guide 6th edition, 3.8.2节提到,用Number()函数来进行string-to-number转换时,函数只接受10进制字符串,但测试结果表明事实并非如此,Number()函数可以接受”0xff”作为参数并将其转换成数值255。


复制代码 代码如下:
var a = " 42";
var b = " 42mm";
var c = "0xff";
var d = "42.34";

console.log(Number(a));//42
console.log(Number(b));//NaN
console.log(Number(c));//255
console.log(Number(d));//42.34

parseInt()

parseInt()函数可以将字符串转换成一个整数,与Number()函数相比,parseInt()函数不仅可以解析纯数字字符串,也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。值得注意的是,当parseInt()函数所解析的是浮点数字符串时,取整操作所使用的方法为“向下取整”(truncate)。

除了字符串作为第一个参数,parseInt()函数还可以接受2到36之间的任意整数作为第二个参数,用于指定转换过程中的进制数。


复制代码 代码如下:
var b = " 42mm";
var c = "0xff";
var x = "-12.34";
var y = "15.88";
var z = "101010";

console.log(parseInt(b));//42
console.log(parseInt(x));//-12
console.log(parseInt(y));//15
console.log(parseInt(c));//255
console.log(parseInt(z, 2));//42
console.log(parseInt(".1"));//NaN

parseFloat()

与parseInt()一样,parseFloat()也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。与parseInt()不同的是,parseFloat()可以将字符串转换成浮点数;但同时,parseFloat()只接受一个参数,且仅能处理10进制字符串。


复制代码 代码如下:
var c = "0xff";
var d = "42.34";

console.log(parseFloat(c));//0, because "0xff" start with 0
console.log(parseFloat(d));//42.34
console.log(parseFloat(".1"));//0.1

标签:
JavaScript,string转换成number

无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?