• 两男子在吉大美食城“百元找零”诈骗? 2018-08-12
  • 突破!郑鹏创中国队冬残奥会个人项目最好成绩 2018-08-12
  • 今年铜陵市将治理水土流失面积36平方公里 2018-08-11
  • 篮球投注技巧 2018-08-11
  • 威海马上就可以接种四价宫颈癌疫苗 附接种地点 2018-08-10
  • 德赫亚暗示博格巴,像我这样才能在曼联取得成功! 2018-08-10
  • 广州出台“红棉计划”吸引海外人才来穗创新创业 2018-08-10
  • 不敌吉林队 四川男篮赛季排名倒数第二收官 2018-08-10
  • 北京榜样,我为你点一个大大的赞 2018-08-09
  • 石家庄空气质量排名"后十"的乡镇将被约谈 2018-08-08
  • 日本公布秘密文件:美日曾密谋“瓜分”中国(图) 2018-08-08
  • 秦岭户外救援现状调查 志愿者组队救援费用AA制均摊 2018-08-08
  • 皇台酒业为证券虚假陈述案埋单,8名投资者将获赔近62万元 2018-08-08
  • 中科大揭示酵母酶的“钻戒”结构 可优化癌症的个性化治疗 2018-08-08
  • 市场多变难选股 机构斗法巧持仓 2018-08-07
  • js number string转换

    栏目: 编程语言 发布于: 2014-05-07 12:20:47

    js 里面两大数据类型数字类型(number)和字符串类型(string)之间互相转换的方法主要有三种:转换函数、强制类型转换、利用js变量弱类型转换。

    1. 转换函数:

    js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

    一些示例如下:

    parseInt("1234blue"); //returns 1234
    parseInt("0xA"); //returns 10
    parseInt("22.5"); //returns 22
    parseInt("blue"); //returns NaN

    parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数?;怯蓀arseInt()方法的第二个参数指定的,示例如下:

    parseInt("AF", 16); //returns 175
    parseInt("10", 2); //returns 2
    parseInt("10", 8); //returns 8
    parseInt("10", 10); //returns 10

    如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

    parseInt("010"); //returns 8
    parseInt("010", 8); //returns 8
    parseInt("010", 10); //returns 10

    parseFloat()方法与parseInt()方法的处理方式相似。

    使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。下面是使用parseFloat()方法的示例:

    parseFloat("1234blue"); //returns 1234.0
    parseFloat("0xA"); //returns NaN
    parseFloat("22.5"); //returns 22.5
    parseFloat("22.34.5"); //returns 22.34
    parseFloat("0908"); //returns 908
    parseFloat("blue"); //returns NaN

    2. 强制类型转换

    还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。ECMAScript中可用的3种强制类型转换如下:

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

    用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

    可以用下面的代码段测试Boolean型的强制类型转换。

    Boolean(""); //false – empty string
    Boolean("hi"); //true – non-empty string
    Boolean(100); //true – non-zero number
    Boolean(null); //false - null
    Boolean(0); //false - zero
    Boolean(new Object()); //true – object

    Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

    Number(false) 0
    Number(true) 1
    Number(undefined) NaN
    Number(null) 0
    Number( "5.5 ") 5.5
    Number( "56 ") 56
    Number( "5.6.7 ") NaN
    Number(new Object()) NaN
    Number(100) 100

    最后一种强制类型转换方法String()是最简单的(将值强制转换为 string 类型),示例如下:

    var s1 = String(null); //"null"
    var oNull = null;
    var s2 = oNull.toString(); //won’t work, causes an error

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

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

    <script>
    var str = '012.345 ';
    var x = str-0;
    x = x*1;
    </script>

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

    您可能感兴趣的文章

    • js中将Object转换为String函数代码
    • JS(javascript)实现页面简繁体转换带cookie
    • js setInterval和setTimeout用法分析
    • phpMyAdmin Cannot start session without errors错误解决办法
    • jquery live change事件在IE下失效的解决方法
    • php和mysql中日期和unix时间戳的互相转换
    • JS判断浏览器类型的方法总结(IE firefox chrome opera safari)
    • php header 404跳转错误页面的写法
    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:js number string转换
    IT技术书籍推荐:
    Python黑帽子:黑客与渗透测试编程之道
    Python黑帽子:黑客与渗透测试编程之道
    塞茨 (Justin Seitz) (作者), 孙松柏 (译者), 李聪 (译者), 润秋 (译者)
    本书是畅销书《Python 灰帽子—黑客与逆向工程师的 Python 编程之道》的姊妹篇,那本书一面市便占据计算机安全类书籍的头把交椅。本书由 Immunity 公司的高级安全研究员 Justin Seitz 精心撰写。作者根据自己在安全界,特别是渗透测试领域的几十年经验,向读者介绍了 Python 如何被用在黑客和渗透测试的各个领域,从基本的网络扫描到数据包捕获,从 Web 爬虫到编写 Burp 扩展工具,从编写木马到权限提升等。 作者在本书中的很多实例都非常具有创新和启发意义, 如 HTTP 数据中的图片检测、 基于 GitHub命令进行控制的??榛韭?、浏览器的中间人攻击技术、利用 COM 组件自动化技术窃取数据、通过进程监视和代码插入实现权限提升、通过向虚拟机内存快照中插入 shellcode 实现木马驻留和权限提升等。通过对这些技术的学习,读者不仅能掌握各种 Python 库的应用和编程技术,还能拓宽视野,培养和锻炼自己的黑客思维。读者在阅读本书时也完全感觉不到其他一些技术书籍常见的枯燥和乏味。