JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
今天被一个问题困扰,有一个页面在浏览器(无论是手机还是PC)上运行良好,而通过WebView就出现了问题,有两个值得计算始终出错。于是就通过alert,把这个值显示出来,发现和浏览器上计算的结果差了很多,本来是正数,却变成了负数。仔细比对发现,其中一部分数字被抹掉了,这些数字都是通过parseInt由字符串转化而来的。而被抹掉的值,和其他正常的数字唯一区别是,它们都是以0开头的,比如“04903”,而其他值都是“90874”。如此,原因就很明显了,WebView支持的JavaScript的parseInt把以0开头的字符串全部转为了0。问题找到了解决就比较容易了,自己写一个str2Int的方法,来代替parseInt就可以了。
str2Int:function(str){
str = str.replace(/^0+/g, '');
if(str.length == 0){
return 0;
}
return parseInt(str);
}
相关文章
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
这篇文章介绍了变量的作用域,传值,传址的一些简单使用,有需要的朋友可以参考一下2013-06-06js添加select下默认的option的value和text的方法
这篇文章主要介绍了js中创建html标签、添加select下默认的option的value和text,很实用,需要的朋友可以看看2014-10-10js编码之encodeURIComponent使用介绍(asp,php)
因此对于JS脚本又重新研究了一下。在对新的URL编码的时候发现,网页编码的格式对于JS的影响很大,在这里书写一点2012-03-03CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
最近在为学乐网开发图片显示功能时遇到一个问题:在一个table中有两行,上边显示图片(大小随机),下边显示对图片的相关说明(文字长度随机)2009-02-02
最新评论