微信小程序 数据类型转换(js)

微信小程序数据转换就是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

 

 

 

 

 

 

你可能感兴趣的:(微信小程序)