JavaScript中parseInt()函数问题

javascript|函数|问题

这个问题大家可能会忽视,我在项目中就遇到了。写了提醒一下大家!!!

在用javascript的parseInt函数时,parseInt("08")或者parseInt("09")返回的居然是0,而parseInt("01")...parseInt("07")都是正确的,一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,javascript的debugger会认为这是一个八进制数,而"08"和"09"不是一个合法的八进制数,所以导致了那个问题,但是parseFloat不会存在这个问题。

    事实上,parseInt方法有一个可选参数来表示数字的进制,所以这应该不能算是一个bug,只是我们平时没有注意到这种细节问题。那么解决的方法很简单,就是使用parseInt("08",10)或者parseInt("09",10),通知javascript解释器使用十进制来解析就可以了。

 

时间: 2024-09-14 18:41:59

JavaScript中parseInt()函数问题的相关文章

javascript中parseInt()函数的定义和用法分析_javascript技巧

本文实例讲述了javascript中parseInt()函数的定义和用法.分享给大家供大家参考.具体分析如下: 此函数可以解析一个字符串,并返回一个整数. 语法结构: 复制代码 代码如下: parseInt(string, type) 参数列表: 参数 描述 string 必需.要被解析的字符串. type 可选.表示要解析的数字的基数,通俗的说就是数字的进制,比如二进制.八进制或者十六进制.该值介于2 ~ 36之间. 详细说明: 一.指定type参数: 指定type参数后,函数就会按照指定的t

关于javascript中parseInt函数的一个所谓的bug

javascript|函数 最近我正在升级一个日历控件,出现了一些莫名其妙的错误,最后发现原来是一个parseInt函数的一个所谓的bug引起的,就是在 parseInt("08") 和 parseInt("09") 处理时返回的居然都是 0 ,而 parseFloat函数就没有这样的错误,没办法,我将所有用到parseInt函数的地方都改成了parseFloat函数. 最后经过测试才发现,原来当前面有0的时候,parseInt默认把它当作八进制处理了,01--07

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

         JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法          这篇文章主要介绍了JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法,因转换的字符串数字都以0开头,导致parseInt函数在浏览器和Android WebView中转换结果不一样,本文给出了解决方法,需要的朋友可以参考下 今天被一个问题困扰,有一个页面在浏览器(无论是手机还是PC)上运行良好,而通过WebView就出

javascript中parseInt和parseFloat类型区别

parseInt()函数:把字符串转换成整数.返回是从字符串的第一个字符开始,如果字符不是以整数开头则返回0.parseInt()函数还可以转换十六进制数或十进制数. 例如:parseInt("123xyz") 返回123,而parseInt("xyz")返回0. parseFloat()函数:类似于parseInt()函数,它返回字符串上包含的第一个浮点数.如果字符串不以有效浮点数开头,则返回0. 例如:parseFloat("2.1e4xyz"

AJAX入门之深入理解JavaScript中的函数

ajax|javascript|函数 概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递.在继续讲述之前,先看一下函数的使用语法: function func1(-){-}var func2=function(-){-};var func3=function func4(-){-};var f

JavaScript中small函数

JavaScript中small函数方法是将 HTML 的<SMALL> 标识添加到String 对象中的文本两端.使用方法: strVariable.small( )"String Literal".small( ) 下面的示例演示了 JavaScript中small函数方法是如何使用的: var strVariable = "This is a string";strVariable = strVariable.small( ); 在上一条语句之后

JavaScript中sort函数

JavaScript中sort函数方法是返回一个元素已经进行了排序的 Array 对象. 使用方法: arrayobj.sort(sortfunction) 其中arrayObj是必选项.任意 Array 对象. sortFunction是可选项.是用来确定元素顺序的函数的名称.如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列. JavaScript中sort函数方法将 Array 对象进行适当的排序:在执行过程中并不会创建新的 Array 对象. 如果为 sortfunct

JavaScript中split函数

JavaScript中split函数方法是将一个字符串分割为子字符串,然后将结果作为字符串数组返回.使用方法: stringObj.split( [separator[, limit]]) 其中stringObj是必选项.要被分解的 String 对象或文字.该对象不会被 split 方法修改. separator是可选项.字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符.如果忽略该选项,返回包含整个字符串的单一元素数组. limit是可选项.该值用来限制返回数组中的元素

JavaScript中splice函数

JavaScript中splice函数方法是从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素. arrayObj.splice( start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) 其中arrayObj必选项.一个 Array 对象. start是必选项.指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的. deleteCount是必选项.要移除的元素的个数. item1, item2