- 相關(guān)推薦
JavaScript在Android的WebView中parseInt函數(shù)轉(zhuǎ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就可以了。
復(fù)制代碼 代碼如下:
str2Int:function(str){
str = str.replace(/^0+/g, ');
if(str.length == 0){
return 0;
}
return parseInt(str);
}
【JavaScript在Android的WebView中parseInt函】相關(guān)文章:
JavaScript中的with關(guān)鍵字07-24
在Java中執(zhí)行JavaScript代碼07-14
抽象語(yǔ)法樹(shù)在JavaScript中的應(yīng)用08-18
perl- javascript中class的機(jī)制05-03
JavaScript中push(),join() 函數(shù)實(shí)例詳解09-05
詳解JavaScript中的splice()使用方法08-20