1、說到資料型別轉換,首先要介紹一下有哪些資料型別?
(1)基本資料型別:指簡單的資料型別。有五種,分別是:
(2)引用資料型別(複雜資料型別) 有多種,比如:
2、資料型別轉換
(1)強制轉換:就是手動的通過轉換工具將乙個資料轉換成另一種型別的資料。
① 其他資料型別轉換數字 number
//數值字串轉數字
var result1 = number('
123'
);console.log(result1);
//123
console.log(typeof(result1)); //
number
//非數值字串轉數字
var result2 = number('
abc'
);console.log(result2);
//nan,'abc'整體不是數值,轉換不了正常的數字。
console.log(typeof(result2)); //
number
//非數值字串轉數字
var result3 = number('
12abc');
console.log(result2);
//nan,'12abc'不是數值,轉換不了正常的數字
console.log(typeof(result2)); //
number
//布林值轉數字
var result4 = number(true
);
var result5 = number(false
); console.log(result4) //1
console.log(result5) //0//
undefined 轉數字
var result6 =number(undefined);
console.log(result6);
//nan
//null 轉數字
var result7 = number(null
);console.log(result7);
//0
//與number工具不同是,parseint能將正常的字串數值轉換為整數
//數值字串轉數字
var result1 = parseint('
123.34');
console.log(result1);
//123
console.log(typeof(result1)); //
number
//非數值字串轉數字
var result2 = parseint('
abc'
);console.log(result2);
//nan,'abc'整體不是數值,轉換不了正常的數字。
console.log(typeof(result2)); //
number
//非數值字串轉數字
var result3 = parseint('
12abc');
console.log(result2);
//12,會把最前面的數字提取出來
console.log(typeof(result2)); //
number
//布林值轉數字
var result4 = parseint(true
);
var result5 = parseint(false
); console.log(result4)
//nan
console.log(result5) //
nan//
undefined 轉數字
var result6 =parseint(undefined);
console.log(result6);
//nan
//null 轉數字
var result7 = parseint(null
);console.log(result7);
//nan
var result1 = parsefloat('3.14');
console.log(result1);
console.log(typeof(result1)); //
number
注意事項:①number 可以將true和false 轉換成1、0 但是parseint 和parsefloat 將true和false 轉換成 nan
②number 可以將null轉換成0 ,parseint 和parsefloat 將null轉換成 nan
②其他型別資料轉字串 string
所有的資料在轉換成字串時,其實就是在其他資料兩邊加上雙引號或單引號
//數字轉字串
var num = 123
;var result1 =num.tostring();
console.log(result1);
//"123";
//布林值轉字串
var flag = true
;var flag2 = false
;console.log(flag.tostring());
//"true"
console.log(flag2.tostring());//
"false"
//在使用變數.tostring()方法時,變數的值不能為undefined和null,否則會報錯
var a = null
;a.tostring();
//報錯
注意:在使用變數.tostring()方法時,變數的值不能為undefined和null,否則會報錯
var result1 = string(123); //'123';
var result2 = string(true); //
'true';
var result3 = string(nan); //
'nan';
③其他資料型別轉布林 boolean
注意:null、undefined、0、nan、'' 轉換為boolean結果為false,其他的資料轉換的結果為true
boolean(null); //false
boolean(''); //
false
//其他略
boolean('我
'); //
true
boolean(123); //
true
什麼叫做隱式轉換?
①其他資料轉數字 number
在做算術運算時(除了和字串做相加運算外),其他非數字型別的資料會自動的轉換為number型別的資料。就相當於悄悄的,看不見的用number(其他資料)轉換為數字。
任何資料和nan做運算(除了和字串做相加運算外),結果始終都是nan。
var result1 = '2' - 1; //
字串 '2' 自動轉換為數字 2
console.log(result1); //
1;var result2 = '
3a' - 1; //
字串 '3a' 自動轉換為數字 nan
console.log(result2); //
nan
②其他資料轉字串 string
任何資料和字串做相加運算時,其他非字串資料會自動的轉換為string型別的資料。就相當於悄悄的,看不見的用string(其他資料)轉換為字串。
var result1 = true + '我'; //
布林值 true 自動轉換為字串 'true'
console.log(result1); //
'true我'
③其他資料轉布林 boolean
在取反、選擇語句 和 迴圈語句中的條件表示式中,其他資料會自動的轉換為布林值。就相當於悄悄的,看不見的用boolean(其他資料)轉換為布林值。
console.log(!1); //false ; 數字1 轉換為boolean值為 true,對true取反就是false
consoel.log(!(1>=2)); //
true
資料型別 型別轉換
這樣的語句將報錯,因為char型別精度低於int型別,編譯器無法將其自動轉換,只能進行強制轉換 int x 65 char ch char x 舉例1 int age 19 char 女 char result age int 不可以自動轉換成char 精度損失 舉例2 int a 10 int b...
Objective C資料型別 資料型別轉換
資料型別 1.objective c資料型別可以分為 基本資料型別 物件資料型別和id型別。2.基本資料型別有 int float double和char型別。3.物件型別就是類或協議所宣告的指標型別,例如 nsautoreleasepool pool 其中,nsautoreleasepool是乙個...
資料型別轉換
資料型別轉換 public class typeconvert 一 容量小的資料型別自動轉換為容量大的資料型別 資料型別按容量大小排序為 byte,short,char int long float double byte,short,char之間不會互相轉換,他們三者在計算時首先回轉換為int型別...