欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据类型的转换

程序员文章站 2024-03-18 21:24:52
...

数据类型的转换

1、toString(),将其他类型(包括字符串,布尔值,数值)的数据转换为字符串

当转换数值时tostring方法可以传入一个参数,这个参数代表你想转换的进制数。

2、toFiexd(),将数值类型的数据转换为字符串

接收一个参数,当不填写的时候默认为零;参数代表数值所要保留的小数点位数,遵循我们的四舍五入。
3、parseInt(),字符串类型转换为数值类型的整数

从左到右检测字符串的字符,如果第一个字符为非数字的类型,则终止检测,返回NaN
如果是数字则继续检测继续往下面检测直到遇到非数字为止然后返回前面检测到的数字。
如果需要将为其他进制的数字转换为十进制,需要通过第二个参数来声明其进制数。

比如:var x = “a”;=>console.log(parseInt(x,16));//10
4、parsefloat(),将其他类型的数距转换为浮点数值类型

当小数点后面的值为0时,会忽略掉为0

用法和parseInt相同,但是parsefloat是没有第二个参数

var num =123;
			var str = num.toString();
			console.log(str,typeof(str));//123 string
			var bool = true;
			console.log(typeof (bool.toString()));//string
//			var und = undefined;
//			console.log(typeof(und.toString()));//报错,undefined是没有tostring方法的
			//null没有tostring方法
//			var n = null;
//			console.log(typeof(n.toString())); 报错,

			var num1 = 10;
			var num2 = num1.toString(2);
			console.log(num2);
			var num3 = 10.5;
			console.log(num3.toString());
			var num4 = 2e2;//相当于2*10^2 e代表的是10
			console.log(num4,num4.toString());//200,"200"字符串的两百,最后一个。
			
			
			var str = 123.45;
			var num = str.toFixed();
			console.log(num,typeof(num));//string
			var num = 12.56;
			console.log(num.toFixed(1));//12.6
			
			var str = "123";
			console.log(typeof parseInt(str));
			
			
			var str1 ="123.45";
			console.log(parseInt(str1),typeof(parseInt(str1)));
			var str = "string";
			console.log(parseInt(str));//NaN
			
			var str = "true";
			console.log(parseInt(str));//NaN
			
			var bool = "true";
			console.log(parseInt(bool));//NaN
			var str = "";
			console.log(parseInt(str));//NaN
			
			var str = "123string";
			console.log(parseInt(str));//123
			
			var str = "a12b";
			console.log(parseInt(str));//NaN
			
			var num = "a";
			console.log(parseInt(num,16));//10
			
			var num = "012";
			console.log(parseInt(num,8));//10
			console.log(parseInt(num));//12
			
			var num = "12.0";
			console.log(parseFloat(num));//12
			var num = "12.1";
			console.log(parseFloat(num));//12.1
			var num = "12.3.5";
			console.log(parseFloat(num));//12.3

强制类型转换

1、Boolean(),强制转换为布尔值

非空字符串转换为布尔值都为true,空字符串为false,

非零的数值转换为布尔值都为true,零就转换为false

undefiend/null都转换为false

	var str = "string";
			console.log(Boolean(str));//true
			var str = "123";
			console.log(Boolean(str));//true
			var str = " ";
			console.log(Boolean(str));//true
			var str = "";
			console.log(Boolean(str));//false
			
			var num = 23;
			console.log(Boolean(num));//true
			var num = 0;
			console.log(Boolean(num));//false
			var num = -12;
			console.log(Boolean(num));//true
			console.log(Boolean(undefined));//false
			console.log(Boolean(null));//false

2、Number(),强制转换为数字类型

布尔值true 转换为1

false,null,"" 转换为0

undefined 转换为NaN

   		 console.log(Number(str));//NaN
   		var str = "12.35";
   		console.log(Number(str));//12.35
   		var str = "12.3.5";
   		console.log(Number(str));//NaN
   		
   		console.log(Number(true));//1
   		console.log(Number(false));//0
   		console.log(Number(undefined));//NaN
   		console.log(Number(null));//0
   		
   		var str = "";
   		console.log(Number(str));//0 

3、String(),强制转换为字符串

   		console.log(typeof(String(undefined)));//string
   		console.log(String(undefined));//"undefined"
   		console.log(String(null));//"null"
   		
   		var str = "123";
   		var num = 123;
   		var total = num + parseInt(str);
   		console.log(total);