微信小程序 數據類型轉換(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

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章