一、基本类型的转换
1.数字转字符串
//直接给数字加空的字符串。
var num=20;
var str=20+" ";
console.log(typeof str);//string
//使用String()函数,让数字更加显示的转为字符串
var num=20;
???var str=String(num);
???console.log(typeof str);//string
//使用toString()方法。toString()有一个参数,用来指定转换的基数。(十进制/二进制/八进制/十六进制)
var num=20;
???var str=num.toString(10);
???console.log(typeof str+","+str);//string,20
2.字符串转数字(转换函数、强制类型转换、js变量弱类型转换)
parseInt()和parseFloat()函数。
//parseInt(),两个参数,第一个要转换的字符串,第二个是指定转换的基数(可省略)/*当第二个参数省略时 ??str以“0x”开头,解析为十六进制的整数 ??str以“0”开头,解析为八/十六进制的整数 ??str以1~9开头,解析为十进制整数*/var str="123hahaha";var num=parseInt(str);console.log(num+","+ typeof num);//123,numberconsole.log(parseInt("22.5"));//22console.log(parseInt("0xA"));//10console.log(parseInt("blue"));//NaN//parseInt也可以用来把小数转为整数console.log(parseInt(233.45));//233
//parseFloat没有基模式
console.log(parseFloat("22.5hahaha"));//22.5
强制类型转换 Number(value)把值转为整数或浮点数
console.log(Number("123.99haha"));//NaNconsole.log(Number("123.9"));//123.9
js弱类型转换
var str="123";var n1=str-0;var n2=str*1;var n3=str+0;//相当于给数字加了一个字符串,所以还是字符串console.log(n1+","+typeof n1);//123,numberconsole.log(n2+","+typeof n2);//123,numberconsole.log(n3+","+typeof n3);//1230,string
3.其他类型的转换
//Boolean(value);//把值转为布尔值console.log(Boolean(0))//false;
//数组->字符串//join(),数组的方法,把数组的元素都放在一个字符串里(元素通过括号中的字符进行分离)。var arr=[2,3,4,5];var str1=arr.join("");var str2=arr.join("-");console.log(str1+","+typeof str1);//2345,stringconsole.log(str2+","+typeof str2);//2-3-4-5,string
//字符串->数组//concat()数组方法,连接数组,并返回结果。split()数组方法,以指定方式分割数组var str="abcdef";var a1=[].concat(str);var a2=str.split("");//console.log(a1+","+typeof a1);//abcdef,objectconsole.log(a2+","+typeof a2);//a,b,c,d,e,f,object
二、进制转换
1.十进制转为其他进制
使用toString
var num=20;//为了不改变其类型需要加上parseIntvar a=parseInt(num.toString(2));//十进制->二进制(除以2取余数,倒着往上数)var b=parseInt(num.toString(8));//十进制->八进制(除以8取余数,倒着往上数)var c=parseInt(num.toString(16));//十进制->十六进制(除以16取余数,倒着往上数)console.log(a+","+typeof a);//10100,numberconsole.log(b+","+typeof b);//24,numberconsole.log(c+","+typeof c);//14,number
2.其他进制转十进制
var d=parseInt(10100,2);//二进制->十进制var e=parseInt(24,8);//八进制->十进制var f=parseInt(14,16);//十六进制->十进制console.log(d+","+e+","+f);//20,20,20
3.其他进制的转换
//八进制、十六进制->二进制var a=parseInt(257,8).toString(2);var b=parseInt("af",16).toString(2);console.log(a+","+typeof a);//10101111,stringconsole.log(b+","+typeof b);//10101111,string //二进制、八进制->十六进制var c=parseInt(10101111,2).toString(16);var d=parseInt(257,8).toString(16);console.log(c+","+typeof c);//af,stringconsole.log(d+","+typeof d);//af,string////二进制、十六进制->八进制var e=parseInt(10101111,2).toString(8);var f=parseInt("af",16).toString(8);console.log(e+","+typeof e);//257,stringconsole.log(f+","+typeof f);//257,string//根据需要自行更改值的类型
js中基本类型的转换,进制的转换
原文地址:http://www.cnblogs.com/Rcyan/p/7608104.html