JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法

2022-01-13,,,,

这篇文章主要介绍了JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法,因转换的字符串数字都以0开头,导致parseInt函数在浏览器和Android WebView中转换结果不一样,本文给出了解决方法,需要的朋友可以参考下

今天被一个问题困扰,有一个页面在浏览器(无论是手机还是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在Android的WebView中parseInt函数转换不正确问题解决方法的详细内容,更多请关注本站其它相关文章!

《JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。