zoukankan      html  css  js  c++  java
  • javascript数据类型转换

    1、转换函数:parseInt(string,radix),parseFloat(string);

    parseInt()解析一个字符串,并返回一个整数;parseFloat()解析一个字符串,并返回一个浮点数。

    string:必须,要被解析的字符

    radix:可选,表示要解析的数字的基数。该值介于 2 ~ 36 之间。

    如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

    如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

    parseInt("10");            //返回 10
    parseInt("19",10);        //返回 19 (10+9)
    parseInt("11",2);        //返回 3 (2+1)
    parseInt("17",8);        //返回 15 (8+7)
    parseInt("1f",16);        //返回 31 (16+15)
    parseInt("010");        //未定:返回 10 或 8

    返回的值,从string左起第一个字符开始,如果为数字就继续往右取,直到碰到非数字停止,如果第一个字符为非数字,那么返回NaN

    注释:开头和结尾的空格是允许的。

    parseInt("123a1235");        //返回123
    parseInt("123.2asdf134");    //返回123
    parseFloat("123.2ab3");        //返回123.2
    parseInt("a123.2");            //返回NaN
    parseFloat("a123.2");        //返回NaN  

     2、强制类型转换

    Boolean(value)——把给定的值转换成Boolean型; 
    Number(value)——把给定的值转换成数字(可以是整数或浮点数); 
    String(value)——把给定的值转换成字符串。

    Boolean()返回一个布尔值:

    返回false:0,"",null,NaN,undefined

    返回true:非0数字,非空字符串,非空对象

    Number()

    与parseInt(),parseFloat()不同的是,它转换的是整个值,而parseInt(),parseFloat()是从左边开始的。

    Number(true)        //1
    Number(false)        //0
    Number(undefined)    //NaN    
    Number(null)        //0
    Number(NaN)            //NaN
    Number(5)            //5
    Number("55")        //55
    Number("55.5")        //55.5
    Number("abc")        //NaN
    Number("5abc7")        //NaN
    Number("5.7.2")        //NaN
    Number(new Object())//NaN

    String()

    var  s1  =  String(null);  //"null" 
    var  oNull  =  null; 
    var  s2  =  oNull.toString();

    //好吧,其实我还没理解toString(),这里是我直接搬过来的

    3. 利用js变量弱类型转换

    举个小例子,一看,就会明白了。 

    var  str= '012.345 '; 
    var  x  =  str-0; 
    x  =  x*1; 

    上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的

        

  • 相关阅读:
    Xen, Linux and udev
    xend的调试方法
    xenstored为什么不能重启?
    [转]xen虚拟windows使用vnc桌面鼠标位置偏移现象的解决
    基于模板的代码生成器
    区分JavaScript中的undefined,null和NaN
    ExtJS+ASP.NET实现异步Tree的节点搜索和查找下一个(FindNext)
    ExtJS+ASP.NET实现Tree节点的拖动(DragDrop)
    ExtJS+ASP.NET实现真实的进度条显示服务器端长时间操作的进度
    说说企业架构(企业级架构)和应用程序架构
  • 原文地址:https://www.cnblogs.com/qiangspecial/p/2972613.html
Copyright © 2011-2022 走看看