zoukankan      html  css  js  c++  java
  • js中基本类型的转换,进制的转换

    一、基本类型的转换

    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,number
    console.log(parseInt("22.5"));//22
    console.log(parseInt("0xA"));//10
    console.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"));//NaN
    console.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,number
    console.log(n2+","+typeof n2);//123,number
    console.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,string
    console.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,object
    console.log(a2+","+typeof a2);//a,b,c,d,e,f,object

    二、进制转换

    1.十进制转为其他进制

        使用toString

    var num=20;
    //为了不改变其类型需要加上parseInt
    var 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,number
    console.log(b+","+typeof b);//24,number
    console.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,string
    console.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,string
    console.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,string
    console.log(f+","+typeof f);//257,string
    
    //根据需要自行更改值的类型
  • 相关阅读:
    重载运算符强化2-返回值
    重载运算符强化--返回值
    重载运算符
    有名对象,匿名对象
    自定义jsp标签
    XML的解析
    DTD概述
    HashTable和HashMap区别
    同步与异步的概念
    List集合
  • 原文地址:https://www.cnblogs.com/Rcyan/p/7608104.html
Copyright © 2011-2022 走看看