JavaScript中的数据类型转换

Part1 数字转换成字符串

1.1 使用JS内部方法进行转换

  1. parseInt 可以将一个字符串型整数进行转换.

parseInt提取数字注意点.

第一个字母必须是数字,如果不是数字则显示NaN

  1. parseFloat 可以将一个字符串型的浮点数进行转换

因为JS是弱类型语言, 不管是int还是float都是Number.

1.2 直接使用Number对象进行包裹

1
2
var a = "10";
console.log(Number(a));

1.3 参与数学计算(加法除外)

加法会将字符串进行拼接

乘法、除法、模运算(取余)都可以将字符串类型变成Number类型.

Part2 数字转换成字符串

2.1 方法一:直接使用字符串方法

  1. 使用数学运算(仅限于加法)

    1
    2
    3
    4
    var a = 123;
    console.log(a + "");
    console.log(typeof (a+ ""));
    //结果转换成String
  2. 使用字符串方法

    1
    2
    3
    4
    var a = 123;
    console.log(a.toString());
    console.log(typeof (a.toString()));
    //结果转换成String
  3. 直接使用String进行包裹

    1
    2
    3
    4
    var a = 123;
    console.log(String(a));
    console.log(typeof (String(a)));
    //结果转换成String

2.2 方法二:使用小数化方法进行转换

  1. 保留三位小数,四舍五入
    1
    2
    3
    4
    var a = 123.123;
    console.log(a.toFixed(3));
    console.log(typeof (a.toFixed(3)));
    //结果转换成String

toFixed: 把数字转换为字符串,结果的小数点后有指定位数的数字。

  1. 以指数形式保存
    1
    2
    3
    4
    var a = 123.123;
    console.log(a.toExponential(3));
    console.log(typeof (a.toExponential(3)));
    //结果转换成String

toExponential: 把对象的值转换为指数计数法。

  1. 保留三位有效数字,四舍五入
    1
    2
    3
    4
    var a = 123.123;
    console.log(a.toPrecision(3));
    console.log(typeof (a.toPrecision(3)));
    //结果转换成String

toPrecision: 把数字格式化为指定的长度。


Part3 Boolean类型转换

非零即为True 即使是负数

3.1 布尔类型转数字

1
2
var isTrue = true;
console.log(Number(isTrue)); //1

3.2 布尔类型转字符串

1
2
var isTrue = true;
console.log(String(isTrue)); //1

3.3 数字转布尔

1
2
var age = 13;
console.log(Boolean(age));

3.4 字符串转布尔

1
2
3
4
5
var name = "张三"; //true
var name = " "; //false
var name = null; //false
console.log(Boolean(age));
//字符串转布尔需保证有值才为true.

3.5 其他类型转布尔

1
2
3
4
5
6
var a = NaN; //false
var b = Infinity; //true,无穷大,非零即为真
var c = undefined; //false
console.log(Boolean(a));
console.log(Boolean(b));
console.log(Boolean(c));