Maison >interface Web >js tutoriel >Solution au problème de conversion incorrecte de la fonction parseInt dans WebView de JavaScript dans les compétences Android_javascript

Solution au problème de conversion incorrecte de la fonction parseInt dans WebView de JavaScript dans les compétences Android_javascript

WBOY
WBOYoriginal
2016-05-16 16:02:221748parcourir

Je suis troublé par un problème aujourd'hui. Il y a une page qui fonctionne bien sur le navigateur (qu'il s'agisse d'un téléphone portable ou d'un PC), mais il y a un problème via WebView. Il y a deux calculs valables qui tournent toujours mal. . J'ai donc utilisé alert pour afficher cette valeur, et j'ai constaté qu'elle était très différente du résultat calculé sur le navigateur. C'était à l'origine un nombre positif, mais c'est devenu un nombre négatif. Après une comparaison minutieuse, il a été constaté que certains nombres avaient été effacés et que ces nombres avaient été convertis à partir de chaînes via parseInt. La seule différence entre les valeurs effacées et les autres nombres normaux est qu'elles commencent toutes par 0, comme "04903", tandis que les autres valeurs sont "90874". Dans ce cas, la raison est évidente. Le JavaScript parseInt pris en charge par WebView convertit toutes les chaînes commençant par 0 en 0. Une fois le problème résolu, ce sera plus facile. Écrivez simplement une méthode str2Int pour remplacer parseInt.

Copier le code Le code est le suivant :

str2Int:fonction(str){
str = str.replace(/^0 /g, ''
Si(str.length == 0){
Renvoie 0 ;
}  
Renvoie parseInt(str);
}
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn