JavaScript在Android的WebView中parseInt函數(shù)轉(zhuǎn)換不正確問(wèn)題解決方法
今天被一個(gè)問(wèn)題困擾,有一個(gè)頁(yè)面在瀏覽器(無(wú)論是手機(jī)還是PC)上運(yùn)行良好,而通過(guò)WebView就出現(xiàn)了問(wèn)題,有兩個(gè)值得計(jì)算始終出錯(cuò)。于是就通過(guò)alert,把這個(gè)值顯示出來(lái),發(fā)現(xiàn)和瀏覽器上計(jì)算的結(jié)果差了很多,本來(lái)是正數(shù),卻變成了負(fù)數(shù)。仔細(xì)比對(duì)發(fā)現(xiàn),其中一部分?jǐn)?shù)字被抹掉了,這些數(shù)字都是通過(guò)parseInt由字符串轉(zhuǎn)化而來(lái)的。而被抹掉的值,和其他正常的數(shù)字唯一區(qū)別是,它們都是以0開(kāi)頭的,比如“04903”,而其他值都是“90874”。如此,原因就很明顯了,WebView支持的JavaScript的parseInt把以0開(kāi)頭的字符串全部轉(zhuǎn)為了0。問(wèn)題找到了解決就比較容易了,自己寫(xiě)一個(gè)str2Int的方法,來(lái)代替parseInt就可以了。
str2Int:function(str){
str = str.replace(/^0+/g, '');
if(str.length == 0){
return 0;
}
return parseInt(str);
}
相關(guān)文章
(跨瀏覽器基礎(chǔ)事件/瀏覽器檢測(cè)/判斷瀏覽器)經(jīng)驗(yàn)代碼分享
一些js代碼,自己備用的,高手不要笑話我。(跨瀏覽器基礎(chǔ)事件,瀏覽器檢測(cè),判斷瀏覽器的名稱(chēng)、版本號(hào)、操作系統(tǒng))等等,很實(shí)用的,方便自己使用,感興趣的朋友可以了解下,希望本文對(duì)你有所幫助2013-01-01
javascript制作坦克大戰(zhàn)全紀(jì)錄(1)
本文寫(xiě)作的目的是鞏固一下自己最近學(xué)習(xí)的js知識(shí), 這個(gè)教程適合熟悉js基本語(yǔ)法和面向?qū)ο笳Z(yǔ)法的小伙伴學(xué)習(xí)。由于自己也是剛學(xué)js不久,所以難免出現(xiàn)錯(cuò)誤。如果發(fā)現(xiàn)希望給予指正。2014-11-11
微信小程序?qū)崿F(xiàn)側(cè)邊欄分類(lèi)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)側(cè)邊欄分類(lèi),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
如何使用原生Js實(shí)現(xiàn)隨機(jī)點(diǎn)名詳解
這篇文章主要給大家介紹了關(guān)于如何使用原生Js實(shí)現(xiàn)隨機(jī)點(diǎn)名的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
詳解JS去重及字符串奇數(shù)位小寫(xiě)轉(zhuǎn)大寫(xiě)
本篇文章主要介紹了詳解JS去重及字符串奇數(shù)位小寫(xiě)轉(zhuǎn)大寫(xiě) ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-12-12

