今天小编mail为大家分享的生活小常识,希望能够帮助到大家!
parseINT函数在cpp哪个头文件,parseint函数这个很多人还不知道,现在让我们一起来看看吧!
1、那是在IE上才会出现的问题,具体是哪个版本的IE来我忘了,当调用parseInt()时,他会先把字符串变成几进制(具体几进制,我忘了)然后在转换成数字,对于纯数字的字符串建议用Number()下面是从网上找的首页 > 学习笔记 > parseInt()方法在IE9中的差异性parseInt()方法在IE9中的差异性对于parseInt()方法,ECMAScript中有这样一条规范请大家一定要注意: ECMAScript规范指出,如果一个字符串以“0”开头(而不是“0x”或“0X”开头),parseInt()可能把它解释为一个八进制数或者一个十进制数。
2、由于这一行为是不确定的,所以不应该使用parseInt()去解析用0开头的数字,除非显示的指定所使用的基数。
3、请看代码:parseInt("050");这句代码在 IE678、火狐、Opera、Safari、Chrome中,均被作为八进制进行解析,所以最终会被解析为40。
4、而在IE9下,是作为十进制来处理的,所以最终的解析结果是50。
5、另外,猜猜下面的代码运行结果都是什么: parseInt("0.12");//0 parseInt(".12");//NaN parseInt("0050");//IE9: 50, IE678+标准浏览器: 40 parseInt("-0050");//IE9: -50, IE678+标准浏览器: -40 parseInt("078");//IE9: 78, IE678+标准浏览器: 7 parseInt("08");//IE9: 8, IE678+标准浏览器: 0 parseFloat("0xFF"); //255总结:如果你真想用parseInt()来解析数字的话,一定要指定第二个参数(基数),这样是最安全的。
6、因为大多数情况下你所解析的数字都是用户输入的,而用户输入080这种东西,我想,很多验证程序都是放过的。
7、所以用parseInt()解析就有可能出现逻辑错误。
8、所以务必要指定基数。
9、例如: parseInt("050", 10); //这里指定被解析数字的基数是十进制。
10、避免了各种浏览器解析不一致的问题。
Luochuanren.Com洛川人-综合信息门户网站,涵盖生活常识、美食、创业、体育、旅游、家居、汽车、财经、互联网、科技、房产、教育等资讯。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
工作时间:8:00-18:00
客服电话
17898872021
电子邮件
773537036@qq.com
扫码二维码
获取最新动态