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
    
    //根据需要自行更改值的类型
  • 相关阅读:
    day7 面向对象 静态方法 类方法 属性方法 类的特殊成员方法 元类 反射 异常处理
    day6 面向对象 封装 继承 多态 类与实例在内存中的关系 经典类和新式类
    day5 time datetime random os sys shutil json pickle shelve xml configparser hashlib subprocess logging re正则 python计算器
    kafka常用操作命令
    linux基础
    django学习1——初识web应用程序
    mysql数据库(三)——pymysql模块
    mysql数据库(二)——表的查询
    mysql数据库(一)
    Python常用模块——re模块
  • 原文地址:https://www.cnblogs.com/Rcyan/p/7608104.html
Copyright © 2011-2022 走看看