数据类型转换大全(js)【转载】
发布于 4 年前 作者 yan06 641 次浏览 来自 分享

微信小程序数据转换就是JS方法转换:

1.字符串转float  int

parseFloat("字符串内容"); //将字符串值转成浮点数

parseInt("字符串内容"); //将字符串值转成整数

此外 parseFloat()

(1) 如果字符串0位置的值不是数字 ,会返回 NAN

(2) 如果有两个小数点,则返回第二个小数点前的数字

(3) 如果字符串中有不是数字的值,会返回字符串不是数字的前面的值

(4)不能解析 别的进制的值

    parseFloat("sss");   //returns    NaN  

    parseFloat("11.11.11");   //returns   11.11 

    parseFloat("1111sss111");   //returns   1111   

    parseFloat("AF");   //returns    NaN   

    parseFloat("11.11");   //returns    11.11  

    parseFloat("011.11");   //returns    11.11   

对于parseInt()

(1) 如果字符串0位置的值不是数字 ,会返回 NAN

(2) 如果有小数点,则返回小数点前的数字,小数点是无效字符

(3) 如果字符串中有不是数字的值,会返回字符串不是数字的前面的值

(4)解析 别的进制的值 需要传值两个参数

    parseInt("sss");   //returns    NaN  

    parseInt("11.11.11");   //returns   11

    parseInt("1111sss111");   //returns   1111 

    //以防以0开头的数字被默认为8进制(测试没有问题)最好加上10

    parseInt("011");   //returns    11 

    parseInt("011",10);   //returns    11  

    //解析别的进制值 

    parseInt("0x321");    //returns   801 因为0x默认为16进制  

    parseInt("AB");   //returns    NaN  

    parseInt("AB",16);   //returns    171   

    parseInt("AB", 11);  //returns    10

    parseInt("2",2);   //returns    NaN 因为2对于2进制数是不合法的  

    parseInt("10", 2);   //returns    2 

    parseInt("10", 8);   //returns    8

    parseInt("10", 10);   //returns    10

    parseInt("10", 16);   //returns    16

    parseInt("a", 16);   //returns    10

2.强制类型转换

String(value);   //把给定的值转换成字符串

Boolean(value);   //把给定的值转换成Boolean型; 

Number(value);   //把给定的值转换成数字(可以是整数或浮点数); 

对于String()

(1)传递的值都会变为字符串 类似于toString()方法  但是和它又不同 对null或undefined值 ,toString()会报错

    String(new Object());   //returns    [object Object]  

    String(110);   //returns   110

    String(null);   //returns   null

    null.toString();   //报错    TypeError: Cannot read property 'toString' of null

   

对于Boolean()

(1)给定的值为  空字符串、数字0、undefined或null  返回false

(2)给定的值 长度大于0的字符串、第一个数字非0数字、对象  返回true

    Boolean("");   //returns    false  

    Boolean(0);   //returns   false

    Boolean(undefined);   //returns   false

    Boolean(null);   //returns   false

 

    Boolean(011);   //报错  unknown: Invalid number

    Boolean(110);   //returns   true

    Boolean(new Object());   //returns   true

    Boolean("sssss");   //returns   true

对于Number()

(1)转换的是整个给定的值,给定的值有不合法字符  则返回NaN  (与parseInt()和parseFloat()方法有区别)

(2)不能识别别的进制

    Number(011);   //报错 unknown: Invalid number

    Number("011");   //returns 11 

    Number(0);   //returns 0 

    Number("11.11");   //returns  11.11 

    Number("11.11.11");   //returns  NaN 

    Number("11");   //returns  11 

    Number("11ss");   //returns  NaN 

    Number(null);   //returns  0 

    Number(new Object());   //returns  NaN 

    Number(undefined);   //returns  NaN 

    Number(false);   //returns  0 

    Number(true);   //returns  1 

 

    Number("A", 16);  //returns  NaN

3.保留几位小数点:四舍五入

NumberObject.toFixed(位数);//

对于.toFixed()

(1)参数为保留的小数点后位数

(2)返回的值为String 类型

    13.37.toFixed(4);   //returns   13.3700

    13.toFixed(4);  // 报错  unknown: Identifier directly after number

    Number(13).toFixed(0);   //returns   13

    13.378888.toFixed(2);   //returns   13.38

    13.378888.toFixed(2)+3;   //returns   13.383

4.获取几位数 :四舍五入 toPrecision()

对于.toPrecision()

(1)参数为保留的位数

(2)返回的值为String 类型

(3)对象的值超出指定位数时将其转换为指数计数法。

    Number(135).toPrecision(1);  //returns   1e+2

    Number(135.77).toPrecision();  //returns   135.77

    13.37.toPrecision(2);   //returns   13

    3.1415.toPrecision(4);  //returns    3.142

    3.1415.toPrecision(8);  //returns    3.1415000

 

 

PS:转载自(https://blog.csdn.net/shanshan_1117/article/details/89371296),感谢原作者的倾力奉献!

回到顶部