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

    xiaoxiao2021-03-25  110

    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函数:可以按照进制数转换

     

    转载请注明原文地址: https://ju.6miu.com/read-5499.html

    最新回复(0)