萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript在Android的WebView中parseInt函數轉換不正確問題解決方法

JavaScript在Android的WebView中parseInt函數轉換不正確問題解決方法

         JavaScript在Android的WebView中parseInt函數轉換不正確問題解決方法
         這篇文章主要介紹了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);

  }

copyright © 萬盛學電腦網 all rights reserved