您的位置:首页 > Web前端 > JavaScript

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

2017-03-08 00:00 106 查看




(3)转换为数值类型

1)Number(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

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

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

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

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

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

如:

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

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

parseInt(“a12b”)//返回NaN

3)parseFloat(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函数:可以按照进制数转换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息