JavaScript学习之数据类型转换 - WangEnze1992/StudyNotes GitHub Wiki

JavaScript之数据类型转换


数据类型转换

将其他类型的值转换成String类型

  • 任何类型的值都有一个toString方法, 通过这个方法, 可以将相应类型的值转换成字符串.
    var iNum = 123;
    var sStr = iNum.toString();     // 获得字符串123
  • 如果是八进制或者十六进制也可以转换, 不过toString方法得到的依然是十进制的值
    var iOctalNum = 0345;
    var sOctalNUm = iOctalNum.toString();       // 得到的值是将八进制的0345转换成十进制的值229, 并变成String类型
  • 如果想将十进制转换成其他进制的变量值, 可以再toString的参数中传入对应的进制值
    var iNum = 123;
    alert(iNum.toString(2));        // 1111011
    alert(iNum.toString(8));        // 173
    alert(iNum.toString(16));       // 7b

将字符串转换成数字

  • JavaScript中提供了两个函数来将字符串转换成数字, 这两个函数是parseInt和parseFloat, parseInt可以将字符串转换成整数, parseFloat可以将字符串转换成浮点数:
    var iNum1 = parseInt("1234xyz");    // 1234
    var iNum2 = parseInt("0123");       // 83
    var iNum3 = parseInt("43.3");       // 43
    var iNum4 = parseInt("false");      // NaN
  • 还可以使用parseInt函数将二进制,八进制, 十六进制的字符串转换成整数
        alert(parseInt("110101", 2));		// 53
		alert(parseInt("110101", 8));		// 36929
		alert(parseInt("110101", 16));		// 1114369
  • parseFloat只能转换十进制的字符串, 十六进制会转换成0,
        var a = parseFloat("1234xyz");		// 1234
		alert(parseFloat("22.4.4"));			// 22.4

强制类型转换

  • 在JavaScript中还可以使用强制类型转换来处理变量值的类型

  • Boolean(value): 把value中的值转换成Boolean类型.

  • Number(value): 把value中的值转换成数字(整数或者浮点数).

  • String(value): 把value中的值转换成字符串

  • 首先来展示一下Boolean(value)的用法:

    alert(Boolean(""));		// false
	alert(Boolean("abc"));  // true(非空字符串都返回true)
	alert(Boolean(100));	// true(非0数字都返回true)
	alert(Boolean(0));      // false
  • Number()的强制类型转换回转换整个值, 而parseInt()是转换部分值, 例如"12ab"parseInt()转换成12, 而Number()转换为NaN
    alert(Number(false));		// 0
	alert(Number(true));			// 1
	alert(Number(undefined));	// NaN
	alert(Number(null));			// 0
	alert(Number("12.3"));		// 12.3
  • String的强制类型转换可以将null和undefined的值强转成对应的字符串
	alert(String(null));			// "null"
	alert(String(undefined));	// "undefined"
	alert(String(true));			// "true"