微信小程序數據轉換就是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