javaScript数据类型转换—显式转换(二)

JS数值类型转换
本文介绍JavaScript中数值类型的三种转换方法:Number函数、parseInt函数及parseFloat函数,并对比它们之间的区别。
    

3)转换为数值类型

1Number(mix)函数:将任意类型转换为数值型

undefined->NaN

null->0

布尔类型:true->1,false->0

字符串类型

1.如果字符是空字符“” ->0

2.只包含数字(包含前面带正负号的情况)->十进制的数值。如“1->1,“1.1->1.1

3.忽略字符串前面的空格,直到找到第一个非空字符

4.如果字符串中包含字符->NaN。如“asd->NaN

5.如果字符中包含有效的十六进制 ->相同大小的十进制整数值。如“0x12”。

如:

Number(undefined)  //返回NaN

Number(null)  //返回0

Number(true)  //返回1

Number(“”)  //返回0

Number(12)  //返回12

Number(12ab)  //返回NaN

Number(0x1f)  //返回31

注意:如果是八进制的数值呢?如“012

Number(012)  //返回12

原因在于在ECMAScript 3 JavaScript引擎中会把“012”做为一个八进制数解析,但是在ECMAScript 5之后 JavaScript引擎中已经不再具备解析八进制的能力,因此前面的0会被认为无效,被认为是为“0”,从而转换的结果为12

2parseInt(string,radix):将字符串类型转换为整型。

1.忽略字符串前面的空格,直到找到第一个非空字符

2.如果第一个字符是数字。则继续解析,直到遇到第一个非数字字符串为止。返回数字的整数部分

3.如果第一个字符是数字,可以按照指定radix参数值来进行解析

4.如果第一个字符不是数字,则返回NaN

如:

parseInt(“12ab”) //返回12

parseInt(“12ab” ,8) //返回10

 

parseInt(“a12b”)//返回NaN

 

3parseFloat(string):将字符串类型转换为浮点型

1.忽略字符串前面的空格,直到找到第一个非空字符

2.如果第一个字符是数字。则继续解析,直到遇到第一个非数字字符串为止。返回解析的数字

3.如果字符串包含一个可解析为整数的数,则返回整数值而不是浮点数值。

4.如果第一个字符不是数字,则返回NaN

如:

parseFloat(“12.23ab”) //返回12.23

parseFloat(“12ab”) //返回12

转换为数值型三个方法的区别

1.转换类型

Number函数可以将任意类型转换为数值型

parseInt函数和parseFloat函数只能将字符串转换为数值型

2.只包含数字的字符串

Number函数:如果数字是整数则转换为整数,如果数字是浮点数则转换为浮点数数。

parseInt函数:转换为整数。

parseFloat函数:如果是数字是浮点数则转换为浮点数。如果是整数则转换为整数

3.包含数字和字符的字符串

Number函数:将整个字符串都转换为NaN

parseInt函数,parseFloat函数:按照转换规则进行转换。

4.按照进制数来转换

Number函数,parseFloat函数:不能按照进制数转换

parseInt函数:可以按照进制数转换

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值